In the previous parts of our article series about de­vel­op­ing a native mobile app, we discussed the con­cep­tion and design of an ap­plic­a­tion as well as app testing. The fifth chapter addresses the question of how to publish an app in the App Store. In the previous subchapter (5.1), we already discussed how to upload an Android app to the Google Play Store. But if you’ve created an iOS app instead, you’ll need to upload it to Apple’s App Store. How to submit an iOS app to the App Store and make it available for download as well as what you need to consider will be discussed in the following para­graphs.

How to publish an iOS app in the App Store

The Apple App Store is the only official platform for the present­a­tion and download of iOS apps. For sub­mis­sion to the App Store you need two basic services: the Apple Developer Program (a platform that provides help with the de­vel­op­ment of an ap­plic­a­tion for the App Store) and the as­so­ci­ated iTunes Connect. These two services form the interface of Apple’s App Store. Pub­lish­ing an app in the App Store takes more time than in the Google Play Store. Therefore, this article can’t explain the re­gis­tra­tion of all necessary services and the pre­par­a­tion of the app for upload step-by-step like the previous subchapter did. That would be beyond the scope of the article, so instead we will give you an overview of the various processes required to publish an iOS app in the Apple App Store. Even so, we’ll be sure to highlight important events in detail and provide a brief guide for the necessary settings. On Apple’s website, you can find extensive in­form­a­tion and ex­plan­a­tions regarding pub­lish­ing an app in the App Store. Ref­er­ences available there include not only the “App Dis­tri­bu­tion Guide”, but also the “iTunes Connect Developer Guide”.

Pre­requis­ites for sub­mit­ting an app to the App Store

In addition to a pub­lish­able iOS app, you will also need a Mac computer with an internet con­nec­tion. A Mac is necessary because you have to format your ap­plic­a­tion into a binary file for the App Store using a programme called Xcode and the software is only available for macOS. Xcode is the official IDE (In­teg­rated De­vel­op­ment En­vir­on­ment) of Apple. It allows you to create iOS apps, among other things. If you haven’t installed the software yet, the latest version of Xcode can be down­loaded for free from the Apple Developer website. Beside the technical equipment mentioned, you’ll also need a credit card and a little budget. Re­gis­tra­tion with the Apple Developer Program is tech­nic­ally free, but pub­lish­ing an ap­plic­a­tion requires a mem­ber­ship, which costs $99 a year. As soon as you have met all of the pre­requis­ites, you can begin with the Apple Developer Program.

The Apple Developer Program

First, visit the Apple Developer website and click on “Account” in the top menu bar. You’ll have to log in with an Apple ID. If you don’t have an ID yet, you can register for a new one on the site. Even if you do have an Apple ID though, it’s re­com­men­ded to create another one so that your app project has its own iden­ti­fic­a­tion number. When you generate a new ID, you’re prompted to provide some in­form­a­tion about yourself as well as a valid e-mail address. A con­firm­a­tion code for your re­gis­tra­tion will be sent to this address. After you have verified your re­gis­tra­tion for a new Apple ID using the code, use it to log in the Apple Developer. Once you accept the “Legal Agreement”, your new account is ready to use. To register your iOS app and submit it to Apple, you’ll need to apply for the $99 per year paid mem­ber­ship. For the re­gis­tra­tion, go to the “Enroll” site of the Apple Developer Program, where you can begin by clicking “Start Your En­roll­ment”. During the re­gis­tra­tion process you have the option to register yourself either as “In­di­vidu­al” or “Or­gan­iz­a­tion”.

Re­gis­ter­ing as an in­di­vidu­al or an or­gan­iz­a­tion

If you’re a self-employed developer, register with the De­vel­op­ment Program as an in­di­vidu­al. You only need a credit card. The re­gis­tra­tion can be done im­me­di­ately – after con­firm­ing and sending all of the required in­form­a­tion you just have to wait for Apple’s e-mail to confirm your mem­ber­ship. With a suc­cess­ful re­gis­tra­tion to the Apple Developer Program you also gain access to iTunes Connect, where you can, for example, set and change the ap­pear­ance of your app in the App Store. It’s important to note that if you are re­gistered as an in­di­vidu­al with the Apple Developer Program, you are solely re­spons­ible for the user account.

If you want to create an account for a company, it’ll take a little more effort. For example, you don’t just need a credit card, but also a tax ID and a D-U-N-S number. The nine-digit number provided by Dun & Brad­street (D&B) is an iden­ti­fic­a­tion number for companies, traders, and other economic operators located in the D&B database. You can request a D-U-N-S number for free on the D&B website. A big advantage of the or­gan­iz­a­tion user account is the pos­sib­il­ity to allow other users to access the account. Users who log on as a company’s employee also have access to iTunes Connect.

Acquiring an Apple Cer­ti­fic­ate for the app

After re­gis­tra­tion with the Apple Developer Program you will need to define some settings for your app. For example, every iOS ap­plic­a­tion offered by the App Store requires multiple signed Apple cer­ti­fic­ates. These can be created either through the Xcode programme or your Apple Developer account. The following is a list of the most important steps within the Apple Developer Program which will help you better un­der­stand the entire pub­lish­ing process.

To produce a cer­ti­fic­ate in the Apple Developer Program, log in to the website and open the “Member Center”. Click on “Cer­ti­fic­ates, Iden­ti­fi­ers & Profiles” and make sure that “iOS, tvOS, watchOS” is selected in the drop-down menu at the top left. To be able to publish your app in the App Store, you need the following two cer­ti­fic­ates: a de­vel­op­ment cer­ti­fic­ate and a dis­tri­bu­tion cer­ti­fic­ate (also known as a pro­duc­tion cer­ti­fic­ate). These are created by selecting “All” under the “Cer­ti­fic­ates” menu on the left-hand side of the menu bar, and then clicking on the plus sign in the upper right corner and following the steps listed below:

  • In the window that appears, select “iOS App De­vel­op­ment” as the cer­ti­fic­ate and click “Continue”.
  • For the next steps you need the programme Keychain Access, which can be found on any newer Mac computer. Using the software, you generate a CSR file (Cer­ti­fic­ate Signing Request). As soon as you’ve opened Keychain Access, choose “Keychain Access” → “Cer­ti­fic­ate Assistant” → “Request a Cer­ti­fic­ate From a Cer­ti­fic­ate Authority” from the menu list at the top, and enter your e-mail address and name in the window that opens. Choose to save the file to your hard drive and define the exact save location.
  • After saving the CSR file, access the Apple Developer Program again. In the “Creating a Cer­ti­fic­ate Signing Request” (CSR) window, click “Continue” to go to the next item and upload the CSR file you just created to your Apple Developer account. Afterward, generate the cer­ti­fic­ate.
  • Now download your iOS De­vel­op­ment Cer­ti­fic­ate, double-click it, and confirm that you want to add the cer­ti­fic­ate to a keychain. The cer­ti­fic­ate is now stored in Keychain Access.
  • The creation of the de­vel­op­ment cer­ti­fic­ate is now completed. Since you still need a dis­tri­bu­tion (or pro­duc­tion) cer­ti­fic­ate, click “Add Another” and select “App Store and Ad Hoc” from under “Pro­duc­tion”. Then repeat the entire process to create the second cer­ti­fic­ate.

Register your device

Next, you have to register an Apple device to your Apple Developer Account. This is es­pe­cially necessary if you want to test your ap­plic­a­tion with a tool from Apple’s Developer Program. You can also register a device using Xcode as well as your Apple Developer account. To start the setup in your Developer account, click “All” under “Devices” and then click on the plus symbol again.

  • To register a device, you need its Unique Device Iden­ti­fi­er (UDID), which you can view using the iTunes programme, for example. To do this, open iTunes and connect your iPhone or iPad to the Mac.
  • Select the connected device from the drop-down list in iTunes. Click on the serial number to reveal the UDID of the device. Copy this.
  • Access the Apple Developer Program again and name the connected device with a name of your choice under “Register Device”. In the “UDID” box, insert the copied number sequence.
  • After clicking on “Continue” you can now register the device, at which point it’s recorded in your device list.
  • If you want to register ad­di­tion­al devices, you can simply repeat this process. You can register up to 100 devices per year in your Developer account.

Generate an app ID for the ap­plic­a­tion

Another re­quire­ment for the upload of an iOS app is an app ID. This iden­ti­fic­a­tion number rep­res­ents an in­di­vidu­al re­cog­ni­tion feature of an ap­plic­a­tion and consists of two parts: an auto­mat­ic­ally assigned iden­ti­fi­er and an ending that you specify. Basically, you can create either an “explicit app ID” or a “wildcard app ID”. An explicit app ID has to be generated again for every new app, but enables push no­ti­fic­a­tions, in-app purchases, and other features within an ap­plic­a­tion. If you create a wildcard app ID instead, then you can’t use these functions. However the app ID can be utilised by many more apps.

For the creation of an app ID, you go back to the menu section “Cer­ti­fic­ates, Iden­ti­fi­ers & Profiles” and start under “Iden­ti­fi­ers” → “App IDs” and once again click the plus symbol.

  • Under “App ID De­scrip­tion” enter your app name. Below you’ll find the prefix given by Apple for your app ID.
  • In the following field, you define the suffix for your app ID. This is also where you select whether you want to create an explicit app ID or a wildcard app ID. Re­gard­less of which ID type you want to publish your app in the App Store with, you still have to register a “Bundle ID”.  Consider the re­com­mend­a­tion from Apple that you should create the bundle ID in the style of a re­dir­ec­ted domain (for a wildcard app ID as de.domain-name and for an explicit app ID as de.domain-name.app-name).
  • Finally, click on “Continue” and, after checking the specified data, on “Register”. You have finished gen­er­at­ing your app ID.

Create a pro­vi­sion­ing profile

Now it’s time to look at the last out­stand­ing menu item in the Apple Developer Program: the iOS pro­vi­sion­ing profile. This combines all of the pre­vi­ously con­figured settings (the cer­ti­fic­ates, device re­cog­ni­tion, and app ID) into one single profile and connects the Developer account, app ID, and re­gistered test devices. With the down­loaded cer­ti­fic­ate you can sign the app’s code in Xcode. Without this step, an app can’t be installed on an iOS device or uploaded to the App Store. To create a pro­vi­sion­ing profile, go to “Pro­vi­sion­ing Profile” → “All” in the menu on the left and initiate the addition of a profile by once again clicking the plus symbol.

  • There are also de­vel­op­ment and dis­tri­bu­tion versions for pro­vi­sion­ing profiles. The former is intended for use during the de­vel­op­ment process of an app, and the latter for the finished ap­plic­a­tion that’s read for release (“Dis­tri­bu­tion” → “App Store”).
  • To set up a de­vel­op­ment pro­vi­sion­ing profile, select “De­vel­op­ment” → “iOS De­vel­op­ment App” and click through to the next window by pressing “Continue”.
  • Next, choose the app ID for the profile. You’ll find the pre­vi­ously created iden­ti­fic­a­tion number in the drop-down menu. Select this and continue by clicking “Continue”.
  • The next steps for gen­er­at­ing the pro­vi­sion­ing profile happen in a very similar fashion: In the next window, you use the checkbox to determine which cer­ti­fic­ates should be part of the profile.
  • Use the same process to select the re­gistered devices that you want to connect to the profile.
  • Lastly, name the de­vel­op­ment pro­vi­sion­ing profile and download it.
  • Via “Add Another”, repeat the process to set up a dis­tri­bu­tion pro­vi­sion­ing profile. Start by selecting “Dis­tri­bu­tion” → “App Store”. The procedure from here is the same as for the de­vel­op­ment pro­vi­sion­ing profile already created.
  • After creating and down­load­ing the two pro­vi­sion­ing profiles, you have to verify them in Xcode. Double-click the profiles in Xcode, and then either create a new project for them or use an existing one. Select the ap­pro­pri­ate project in the left menu bar. Then under the menu “Build Settings” → “All” select “Code Signing”. Here, in the “Pro­vi­sion­ing Profile” entry, you can control whether your profiles are listed under “Automatic”.

Once you can see your profiles in Xcode, then follow the iTunes Connect section below.

Publish an iOS app via iTunes Connect: A short guide

iTunes Connect is an integral part of your Apple Developer account, and is essential for the process as you upload your app to the App Store. You can access iTunes Connect either through the menu of your Developer account or on the iTunes Connect website.

Agree­ments, taxes, and bank con­nec­tions

If you want to sell a paid app in the App Store, you have to first set up the “Agree­ments, Tax, and Banking” section in iTunes Connect (if you’re offering your app for free, you can skip this paragraph). To sell an ap­plic­a­tion in the App Store, you have to apply for a cor­res­pond­ing contract in advance – there are a variety of versions available in iTunes Connect from which you can choose. Note that you can only request and conclude a new contract with the team agent position in iTunes Connect. For the con­clu­sion of a digital contract, Apple requires some ad­di­tion­al in­form­a­tion about you as a contract partner – such as in­form­a­tion on the bank account where 70% of your app sales will be trans­ferred (Apple itself retains 30% of sales) and the contact in­form­a­tion for the person who handles the billing and legal aspect of the app sales. You can manage all existing contracts at any time in the menu. Further in­form­a­tion about the “Agree­ments, Tax, and Banking” settings options are available in the iTunes Connect guide.

Create iTunes Connect record

To be able to publish your iOS app, you need an in­di­vidu­al iTunes Connect record for your ap­plic­a­tion that contains all of the in­form­a­tion for the de­ploy­ment and main­ten­ance of your app in the App Store.

Tip

If you want to edit the app record in iTunes Connect at a later time, you can save your in­ter­me­di­ate progress by clicking the “Save” button (at the top right of each menu window).

  • On the start screen of iTunes Connect, click on the menu item “My Apps”. There you’ll find a plus symbol in the top left, from which you can upload your app. Click this and then click “New App”.
  • In the next window, choose iOS as the platform and then enter the name of your app, the primary language of the ap­plic­a­tion, the bundle ID (that you pre­vi­ously re­gistered), and the SKU (an iden­ti­fic­a­tion number that you can set yourself) into the following blanks.
  • After clicking “Create”, you’ll be asked to specify the cat­egor­iz­a­tion of your app in the next window. Here, you define a main category and can set a second category as well as one or two sub­cat­egor­ies. This is re­com­men­ded to make your app easier to find later in the App Store. Depending on the content of your app and what data it collects, ad­di­tion­al settings are required. You end the entry in this window by clicking “Save” in the upper right corner.
  • Next, open the “Pricing and Avail­ab­il­ity” section of the menu found in the list on the left. Here you define whether your app is paid or free in the App Store. If your ap­plic­a­tion costs something, this is where you’ll specify the relevant details. Once again, save the settings with the “Save” button at the top right.

Set the app details page for the App Store

At this point you’ve created an entry for your app, which can be found in the menu under “My Apps”. Next, you need to provide all of the in­form­a­tion in iTunes Connect that you’ll need for the app page of your ap­plic­a­tion in the Apple App Store (such as a de­scrip­tion of app content, screen­shots of the ap­plic­a­tion, keywords for App Store searches, etc.). That means yet more work for you – a detailed de­scrip­tion of all of the necessary steps can be found in the iTunes Connect Developer Guide under “Identi­fy­ing Your App in iTunes Connect”. We have sum­mar­ised the most important steps for you below.

  • Under “My Apps” in the menu on the left-hand side, select “Prepare for Sub­mis­sion”.
  • In the window that appears, first upload the screen­shots of the app. You need at least one screen­shot for each supported Apple device – the res­ol­u­tion between the devices can vary greatly. An iPhone has a smaller display than an iPad, and con­sequently the res­ol­u­tion of the screen is different. With iPhones and iPads, the model de­term­ines how large the screen is: Here, too, there are different spe­cific­a­tions for the res­ol­u­tion. A detailed overview of the various res­ol­u­tions can be found in the “Platform Version In­form­a­tion” section of the iTunes Connect Developer Guide in the table labeled “Screen­shot Prop­er­ties”. The photos can be uploaded in either the JPEG or PNG format.
  • In the next field, enter a de­scrip­tion of the app under “De­scrip­tion” and name the keywords in the field following. These keywords describe the content of the app in an ab­bre­vi­ated form – when a user searches for one of these terms in the App Store search function, your app will appear in the search results. You should plan the selection of the keywords ac­cord­ingly, because they cannot be changed af­ter­wards. In addition, a “support URL” is mandatory. This is a specified web page where app users can find an e-mail address and/or phone number to reach your app’s customer service.
  • To upload the build file (also known as binary file or binary) to your app, use the Xcode programme
    • Open your Xcode app project – if you didn’t create your app with Xcode, you can import your app file as an .xcodeproj file.
    • In Xcode, select “Generic iOS Device” in the upper bar next to the play and stop buttons as the target. Then open “Product” → “Archive” in the menu bar. This creates the binary file for the App Store.
    • Your app file should open in a new window. To be added to the App Store, your app needs a veri­fic­a­tion from Apple. Click on “Validate”, select your Developer account, and confirm the val­id­a­tion in the next window.
    • After suc­cess­fully val­id­at­ing your app you can upload it. To do this, click on “Upload to App Store”, select your iOS Developer account, and click “Upload”. As soon as the con­firm­a­tion of the upload appears, switch back to your iTunes Connect account.
  • It can take a minute before the build file is displayed in iTunes Connect. In the meantime, continue to the uploading of your app icon. This icon also serves as a start button for the app on user devices and must be uploaded in the res­ol­u­tion 1024 x 1024 pixels.
  • On the right-hand side, next to the field for the app icon, enter the required copyright in­form­a­tion for your app, including the app’s year of ap­pear­ance and contact details.
  • Under the app icon, enter the version number of the app. Again, set the “Rating” clas­si­fic­a­tion related to the age re­stric­tions decided upon earlier.
  • Now only a few details are still missing under “App Review In­form­a­tion”. Here it’s important that you specify the contact details of the person who serves as the app’s contact for Apple. Under “Notes” you can also provide Apple with some details about your app – for example, if the ap­plic­a­tion has specific re­quire­ments. Last but not least, you can specify under “Release Version” whether your app is to be released im­me­di­ately following ex­am­in­a­tion by Apple or at a later date.
  • Scroll to the top of the page and click on “Save”. If you haven’t forgotten any of the required in­form­a­tion, you can now click the “Submit for Review” button to submit your app to the Apple App Store.

What happens after you’ve submitted the iOS app?

The suc­cess­ful sub­mis­sion of an ap­plic­a­tion to the Apple App Store doesn’t mean that you iOS app will im­me­di­ately be published. First, Apple reviews each app’s content, malware, and so on. As opposed to the Google Play Store, Apple does this tra­di­tion­ally by hand – in the past, it took an average of one week for an iOS app to become available in the App Store. But Apple has done a good job to drastic­ally reduce this pro­cessing time: Now, the review process generally takes around two days. However, this process can’t really be gen­er­al­ised – the more ob­jec­tions Apple has to an ap­plic­a­tion, the longer the process will take.

The current status of the review can be checked at any time in iTunes Connect. In the “My Apps” section of the menu, you can find in­form­a­tion about the status of the app under “iOS App” on the left-hand side. Even after your app is published in the App Store you should keep this in mind for the future. App crashes and pro­gram­ming errors are among the factors that can hinder the success of an app - only a properly func­tion­ing app can be suc­cess­ful. The Apple Developer account and Xcode can help to minimise errors, since they allow you to view certain “crash reports” sent to Apple. However, you’ll only be informed of error messages from users who have given consent for their reports to be trans­mit­ted to the app de­velopers. Ratings in the App Store can also help you un­der­stand what problems users are having with your app.

If you locate and fix app errors, then you should publish a new version of your iOS app in the store. You can do this by uploading a new build file to iTunes Connect. In this way, you simply use the same app entry with which you’ve already published the previous versions of your ap­plic­a­tion – which ensures that your app retains the same app ID and all other features. But it’s still possible to change the defin­i­tion and whatever metadata you want.

Besides updating your app, you should also consider App Store op­tim­iz­a­tion (ASO). This is an effective means for placing an ap­plic­a­tion more prom­in­ently in the App Store. The last chapter of our app article series delves into this topic: The first subchapter will discuss the im­prove­ment of app ranking in the Google Play Store, and the second part will cover the same topic for ap­plic­a­tions in the Apple App Store. Better vis­ib­il­ity in the app stores increases an ap­plic­a­tion’s download figures and should not be un­der­es­tim­ated when it comes to the marketing of an app.

A study, in which the app analyst Adjust evaluated almost 2 million iOS Apps, revealed that almost 90% of all smart­phone ap­plic­a­tions can only be found via the direct search function and are therefore con­sidered as "zombie apps", as shown on the in­fograph­ic below.

Click here to download the in­fograph­ic on iOS app vis­ib­il­ity.

Go to Main Menu