In this tutorial, you will learn how to submit and publish your app to the iOS App Store. I assume you already have enrolled an iOS Developer program for $99/year, so I’ll skip that part.
In case you don’t own a Developer Program for iOS application, check the official Documentation.
The App ID
Once your Xcode project is ready to be submitted to the App Store for Review, you must copy the
Bundle Identifier you’ve set in the General tab in Xcode and go to https://developer.apple.com/account/. Enter the Certificates, Identifiers & Profiles section.
Select Identifiers from the left menu and click the (+) button.
By default, the App IDs option is checked. Leave it as it is since you have to register the
Bundle Id of your app, and click the Continue button.
In the next page, you have to type a short description of your app and paste the Bundle ID of your app in their relative fields. In the Bundle ID field, the default option is Explicit, and you must leave it as it is. Also, the Bundle Identifier must have a syntax like
In case you have enabled some Capabilities in your app, you should select them in the Capabilities section. For the sake of this tutorial, I’ll skip this part because this is not so common, so click the Continue button, which will switch into Register. Click it again.
You’ll be redirected to the Home page and your job is done on the Apple Developer Portal.
The App Store Connect page
Get to the App Store Connect now at https://appstoreconnect.apple.com/ and login with your own Apple ID and password. Here’s where you’ll prepare your app’s info, screenshots, and Binary to be submitted for review.
Click the My Apps button to enter the page the shows all your applications, the ones live on the App Store and also the pending ones.
+ button on the top-left corner of the page and select New App.
You have to fill the form that will show up in a popup by doing the following:
- Select the iOS platform
- Type your App’s name – The name of your app as it will appear on the App Store. This can’t be longer than 30 characters.
- Choose the Primary Language – If localized app information isn’t available in an App Store territory, the information from your primary language will be used instead. Learn more
- Select your Bundle ID – The Bundle ID must match the one you used in Xcode. It can’t be changed after you upload your first build.
- Type the SKU string for your app – It’s a unique ID for your app that is not visible on the App Store, so type anything you want.
When you’re done, just click the Create button.
You will be redirected to the page where you’ll set all the app’s info and screenshots. The default section is the App Information one. Here you have another form to fill, let’s see how to complete it in details:
- In the Name field, you will see your app’s name, you’re free to edit it as you wish, that’s how it will show up on the App Store. No longer than 30 characters.
- You can type a Subtitle, a summary of your app that appears below your app name throughout the App Store in iOS 11 or later and the Mac App Store in macOS Mojave or later. This field is optional.
- The Language button (English U.S.) will show the previously selected primary language, you can add new languages in case your app supports multi-language.
- Bundle ID – This field is where you can still select the Bundle Identifier for your application, in case you’ve selected the wrong one. Just remember that you won’t be able to change it after you’ll upload your first build.
- You have to choose the primary and secondary category for your app in the Category section – The category that best describes this app. Learn More
Click the Save button when you’re ready.
Click the Pricing and Availability link from the left menu, the page you’ll get is where you’ll set the price tier for your app and other options.
- Select a price tier in the Price section. If you’ll sell your app – so you will not set the Free option – you must have an approved Paid Application Agreement in the Agreements, Tax and Banking section of the App Store Connect.
- Pre-Orders allow customers to order your app before its release date. Once your app is released for download, customers will be notified and your app will automatically download to their device. For paid apps, customers will be charged before download. Any app that hasn’t been published to the App Store can be made available for pre-order. Learn More. If you check the Make available for pre-order option, you’ll have to set a release date. Just remember that you’ll have to manually release your application after it gets approved by an Apple reviewer.
- Availability – You can either choose to publish your app worldwide or click the Edit button and select the Territories you want your app to be downloadable from.
- Distribution for Business and Education – By default, the Available at a reduced price for educational institutions option is checked. It’s the most used one, you can offer your app at a reduced price to educational institutions when they purchase through Apple School Manager in volume. For more information, see Apple School Manager Help. You’re also free to select the Available for education and business without a reduced price option, or the Available privately as a custom app for business one (in this case, your app is a custom app intended to be distributed privately to a specific business customer. This option is available only if you’ve signed a Paid Applications agreement and your app hasn’t been approved yet. Learn more about custom app distribution).
Once you’re done, click the Save button.
Unless you implemented In-App Purchase or Game Center in your app, you can now click the 1.0 Prepare for Submission link from the left menu. I won’t get into IAP or Game Center in this tutorial, those topics will be covered in other articles on this website.
Let’s see the steps you have to perform in the Prepare For Submission page.
- Start by dragging your app screenshots in the App Previews and Screenshots section. It clearly shows you what device’s screenshots you must upload, anyway here’s the complete Screenshot specifications: https://help.apple.com/app-store-connect/#/devd274dd925, check it out, it’s very useful. Please also note that your screenshots must be in the JPG or PNG format, and in the RGB color space. App previews must be in the M4V, MP4, or MOV format and can’t exceed 500 MB. Learn More
- Promotional Text – This field is optional but still very good, and lets you inform your App Store visitors of any current app features without requiring an updated submission. The text you’ll type will appear above your description on the App Store for customers with devices running iOS 11+, and macOS 10.13+.
- Description – it’s self-explanatory, and it is also mandatory. Write a good description of your application, detailing features and functionality.
- Keywords – Type one or more keywords that describe your app. Keywords make App Store search results more accurate. Separate keywords with an English comma, Chinese comma, or a mix of both.
- Support URL – Here you have to paste a valid link that points to a page with support information for your app. This URL will be visible on the App Store. If you don’t have such page ready yet, just paste your own website’s URL. You’ll be able to change it by submitting an update of your app.
- Marketing URL – This field is optional, you may type a link with marketing information about your app. This URL will be visible on the App Store.
Scroll down to find the other options:
- iMessage App and Apple Watch – Here’s where you can upload screenshots for iMessage and/or Apple Watch applications, but since we’re covering an iOS app submission, I’ll skip this part.
- Build – After you upload a binary with the Xcode’s Organizer to the App Store, a (+) button appears in this section. We’ll get into it later in this article.
- App Store Icon – Since you need Xcode 10+ for this tutorial, you don’t need to manually upload a 1024x1024px icon in this section (as it was in the past), because after you’ll submit your app’s binary via Xcode, the website will get the big icon you’ve included in your project. So just leave this section as it is.
- Version – The version number of the app you are adding, by default 1.0. Numbering should follow software versioning conventions, for instance: 1.1, 1.2.4, etc.
- Rating – You must rate your app for review, click the Edit button and select the level of frequency that best describes your app for each content description, then click the Done button when you’re done. The App Rating that will display on the App Store is the same across all of your platforms. It is based on the app’s platform with the highest rating. Learn More
- Copyright – Type the name of the person or entity that owns the exclusive rights to your app, preceded by the year the rights were obtained (for example, “2109 XScoder”). Do not provide a link!
- Trade Representative Contact Information – This is optional, it allows you to provide additional information that will be displayed with your app on the Korean App Store. This information will only appear on the Korean App Store.
- Your info – Fill in the fields with your name, address, phone, and email address. Apple may use your email or phone number for further contact about app’s issues.
- Game Center – In case your app offers Game Center leaderboard or Achievements, switch it to on and fill the form that will show up. This topic will be covered in another article.
- Sign-In Information – If your application has a signup or login screen, you must provide a user name and password that the Apple reviewer can use to sign in to your app and review all of its features. If users sign in using social media, provide information for an account we can use. Credentials must be valid and active for the duration of the review.
- Contact Information – The person in your organization who should be contacted if the App Review team has any questions or needs additional information.
- Notes – Nowadays this field is really important because reviewers are acting a little bit bad with new apps, they may reject your app because it lacks features description, but if you explain how your app works in details, the chances to get approved increase a lot. You may attach some screenshots too.
- Version Release – Select the desired option. Just note that after your app has been approved, Apple can release it for you immediately. If you want to release the app yourself, choose a date or manually release it at any point after the approval.
Upload the Xcode project
It’s now time to upload your binary with Xcode. Open your project, make sure everything is ok and click Product -> Archive and wait for Xcode to archive your app.
When the process is done, the Organizer opens up. Click the Distribute App button. By default, the iOS App Store option is selected, leave it as it is and simply click the Next button.
Click the Next button again, then you’ll have to click that button a few times more to confirm a few options (do not edit them, just keep clicking Next until the upload process starts).
When it’s done, you’ll get an alert like this:
Click the Done button, and quit both the Organizer and Xcode.
Going back to your app’s App Store Connect page
Wait for an email from Apple which will state that your binary is ready to be added to your App Store Connect page. So go back to your app’s page, refresh it and scroll to the Build section. Click the (+) button, select your Build and click Done.
When you’re done, click the Save button on the top-right corner of the page. If there are some errors on the page, they will be highlighted in red and you’ll have to fix them. Otherwise, the Submit for Review button will get enabled. Click it and you’ll be redirected to a page where you’ll be asked about cryptography, third-party content and IDFA (Advertisement banner and/or interstitial ads).
For the first and second options, check No. For the Advertising Identifier (IDFA) one, check No if your application doesn’t serve ads (like AdMob ads), or Yes if ads are present. If that’s yes, check this sample screenshot to see how to proceed:
Click the Submit for Review button and be happy, you’re finally done with this submission process. Usually, it takes up to 3 days to an Apple reviewer to review your app, you’ll always get notified by email about the progress.
That’s all for this tutorial, you have learned how to submit an app to the App Store.
Hope you enjoyed this article, feel free to post comments about it.