Publish an iOS application in the AppStore

Nov 29, 2018 · 10 min read

The next step after creating your application, is to publish an iOS application in the AppStore. This is a “quick” guide to publish iOS applications, if we want to make them public to the world. The process could be long for the first time.

The main steps involved in this process are:

  1. Create an Apple ID
  2. Join the Apple’s Developer program
  3. Create and build your application in Xcode
  4. Create an archive of your signed application
  5. Register your application in App Store Connect
  6. Upload or export your application
  7. Submit your application for Review
  8. Your application will be verified and published in the App Store.

Create an Apple ID

The rest of the process requires an Apple ID. To create an Apple ID you need a valid email address, and you can do it by different ways:

Apple ID creation
Apple ID creation

You need to enter identification information and some personal data. After validating your email with a security code, you account will be active.

Register as a Developer

The next step is to register in the site https://developer.apple.com/ as a Developer, to start publishing applications in the AppStore.

  1. Enter in the Apple developer’s site
  2. Accept the Apple Developer Agreement
  3. You will enter in the Developer’s portal
Apple developer portal
Apple developer portal

With this account you have limited access to general resources for developers (SDKs, downloads, development tools). After that, you need to join the Apple’s Developer Program to access all the features, including publishing apps to the AppStore.

Join the Apple Developer Program

You need to Join the Apple Developer Program to start publishing apps.

  1. In the main page, you can click on the “Join the Apple Developer Program
  2. Click on the button link “Enroll
  3. Start your enrolment as an Individual or as an Organization.
  4. You need to enable Two factor authentication for your apple account, in your iPhone or MacBook.
  5. After entering the information needed to enroll, you will be prompted to pay $99 for a one-year subscription membership.

This last step allows you to publish an iOS application in the AppStore, as well as for MacOS applications.

Note: After submitting and paying for your iOS Developer registration, you’ll need to wait for Apple to process your order.

Generate App Certificates

After validating your new developer account. You will be able to work with the publishing tools in the Apple developer site. The first step to publish is to generate application certificates:

Create a CSR file

Keychain access - create certificate
Keychain access - create certificate
  1. In the Applications folder on your Mac, open the Utilities folder (Other folder) and launch Keychain Access.
  2. Select Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.
  3. In the Certificate Information window, enter the following information:
  4. User Email Address
  5. Create a name for your private key (e.g., MyDevKey).
  6. The CA Email Address field should be left empty.
  7. In the “Request is” group, select the “Saved to disk” option.
  8. Click Continue within Keychain Access to complete the CSR generating process.
  9. Save the certificate to disk and keep it accesible for the next steps.

Upload your certificate to your developer account

  1. Go to the “Certificates, Identifiers and Profiles” link (https://developer.apple.com/account/ios/certificate)
  2. You will see all your certificates created. It will be empty for the first-time.
  3. Upload this certificate file in the Apple Developer site
  4. After upload, it will generate an ios_distribution.cer certificate. Download it to your computer.
  5. Open theios_distribution.cer file, and when prompted, add it to your local Keychain Access.
Apple developer certificates
Apple developer certificates

Register Devices

You don’t need a real iOS device to publish your application, but if you are planning to test or deploy your application to some testing devices, you need to register them in Apple Developer portal:

  1. Connect your phone to a MacBook and open the iTunes app
  2. Select the current iOS device from the sidebar and you will see some info about your phone. Copy the UDID code.
submit an app
submit an app
  1. Open the Apple Developer portal and select from the sidebar “Devices” -> “All”
  2. Click on the “Add” button (plus sign) and register the name of your device, and paste the UDID from the iTunes application.
  3. Now you can install and test applications created by you directly in your phone.

Create an Application ID

Each application needs an Unique ID to be registered in the App Store.

  1. Open the Apple Developer portal and select from the sidebar “Identifiers” -> “App IDs”
  2. Click on the “Add” button (plus sign) and register the name and id of your application.
  3. The App Name is a global identifier for your application in the App Store.
  4. The App ID suffix is like a reverse DNS address for your application (example: com.mycompany.apps.demo)
  5. Activate the services used by your application. Generally, if you are using only standard components, you can leave this section as is.
  6. Use the App bundle identifier as the in your Xcode project.

Create Provisioning Profiles

You will use Development provisioning profiles to build and install versions of your app during your development process. You use Distribution provisioning profiles when you submit your apps to the App Store.

  1. Open the Apple Developer portal and select from the sidebar “Provisioning Profiles” -> “All”
  2. Click on the “Add” button (plus sign) and register a new provisioning profile
  3. First of all, select iOS App Development to create a development provisioning file:
  4. You need to specify an App ID (the last Bundle ID created in the previous step)
  5. Select the computers where you plan to develop and test your application.
  6. Select the iOS devices to use for testing
  7. Create a profile name (example: Myapp.development)
  8. Download the generated provisioning file.
  9. Second, Add another profile for App Store distribution provisioning
  10. Select the App bundle ID, computers for development and iOS devices for testing, like in the previous step.
  11. Download the provisioning file
  12. You can specify the provision file in your Xcode project configuration. Also, if you have registered your Apple Id in Xcode, the application manages automatically the certificates and provisioning, providing only the App Store account as a team.
  13. Now you can test and prepare applications for publishing.

Build your application for publish

Now, you are ready to package and distribute your application. The first part of the process is done via the Xcode application:

App Store Connect : Publish

The App Store Connect portal allows you to publish your applications in the App Store. You need to register your application here, and complete the required information to create your application download page.

App Store Connect
App Store Connect
  1. Go to the App Store Connect web site (https://appstoreconnect.apple.com/)
  2. Go to the “My Apps” section
  3. Click on the plus sign [ + ] to add a new iOS app
  4. Enter a unique name for the App Store
  5. Select the primary language
  6. Choose the application Bundle ID (created previously)
  7. Create a number of SKU (for internal reference only)
  8. Select Limited or Full access

App Information

Fill in the App information :

  1. App Title, and optional subtitle
  2. URL to a privacy-policy text file (You can use a file like this)
  3. Select the Bundle ID, Category, and Subcategory

Pricing and Availability

Fill in the Pricing and Availability section

  1. Select a price. It could be free or paid.
  2. Select the availability: you can select a group of countries to publish your application. Otherwise, it will be published to all countries.
  3. Check and select other additional availability options.

Prepare for Submission

Fill in the Prepare for Submission section:

  1. Upload at least 3 images of 1242 x 2208 (default iPhone 5.5 inch), with screenshots of your application. You can capture some screenshots with Command + Shift + 4, and then resize using the Preview app in MacOS (check this link for more information)
  2. Upload 1 additional screenshot image of 2048 x 2732 (iPad Pro), if you are publishing your application for iPad, as well.
  3. Fill in the details of your published application: Promotional Text (This text will appear above your description on the App Store), Description (A description of your app, detailing features and functionality), Include one or more keywords that describe your app (separated by comma).
    Support URL (Website URL of your app support page, if any).
  4. Upload an icon for your application. It must be 1024 x 1024 pixels.
  5. Fill in the contact information for your application.
  6. Open the “Rating” section and select the best option for each topic. For example, if your application shows some mature graphic content.
  7. In the “Build” section, you can’t select a build until you upload your application.

Xcode : Build and Archive

  1. Register your Apple ID in Xcode (Menu Xcode -> Preferences -> Accounts)
  2. In the Project configuration (Root element) make sure you are using the App Bundle ID generated in the previous section “Create an Application ID”.
  3. Make sure you are selecting a development Team (your Apple ID account), in this way, your certificates will be managed automatically. Otherwise, you need to select and specify your files manually.
  4. You application must contain the following minimum resources in the Assets.xassets file:
  5. App logos for iPhone: 120 x 120 px (iPhone App 2x)
  6. iPad App logos: 167 x 167 px (iPad Pro) and 152 x 152 px (iPad App 2x)
  7. An App store icon (1024 x 1024 px)
  8. Select as the target deviceGeneric iOS Device
  9. Open the menu “Product” -> “Archive”. This command will generate an archive package of your application.
  10. A popup window will open with your most recent archives.

At this point, you have an archive of application, and you can submit it using 2 methods: Upload automatically or Export, to upload manually using Application Loader.

Option 1: Publish using Upload

Open the Archives organizer window (Menu Window -> Organizer) and select the archived version you want to upload to the App Store.

  1. Select the last one you created for your application, and press “Distribute App
  2. Choose the iOS App Store distribution
  3. Select to Upload the application
  4. When prompted, accept to include the files required and activate automatic signing for your application.
  5. Finally, you may be prompted for a password (the MacBook user password)
  6. Your application will be uploaded to the App Store connect. This process could take some minutes to complete. Sometimes this process take a long time. If you want to wait, you may prefer to Export your app and submit it manually.
  7. If you choose Export
  8. you will be prompted to save the packaged application in a local folder. Take note about the location
  9. Use the Application Loader to upload your application

Option 2: Export and publish manually

Open the Archives organizer window (Menu Window -> Organizer) and select the archived version you want to upload to the App Store.

  1. Select the last application created, and press “Distribute App
  2. Choose the iOS App Store distribution
  3. Select to Export the application
  4. When prompted, accept to include the files required and activate automatic signing for your application.
  5. After processing some files, you will be prompted to save the packaged application in a local folder (Take note about the location)
  6. A new folder will be created, and inside, a file with .ipa extension (your application package) is ready to publish.
  7. Use the Application Loader to upload your application.

Use the Application Loader to upload your application

After exporting your application in the previous step, you need to upload your application manually using the Application Loader tool.

  1. In Xcode, open from the XCode menu -> Open Developer Tool -> Application Loader.
  2. Open the application exported in the previous step. Select the .ipa file inside the folder previously exported.
  3. Follow the steps of the Application Loader process
  4. If the Loader warns for missing elements or errors, correct all of them and repeat the process of Build, Archive and Export.
  5. After finishing this steps, you will receive a message: You have successfully added your application to the App Store.
Xcode Application Loader
Xcode Application Loader

Publish your application

After submitting your application, finally, you can do the final steps to make it public:

  1. Go to the App Store Connect web site (https://appstoreconnect.apple.com/)
  2. In the “My Apps” section, and select your application
  3. Enter in the section “Prepare for submission”. In the “Build” section, now you can select the application package you submitted in the previous step.
  4. Save your changes and press “Submit for review
  5. If all fields are filled correctly, you will be prompted to fill additional information about your submission. Answer Yes or No to each question.
  6. You are ready. Your application is submitted and changed the state to “Waiting for review
  7. In a couple of hours (in some cases, in the next day) you will receive a confirmation email: The status of your app, is now “Ready for Sale
  8. You can check your submission in the App Store Connect page, and view the published application using the link URL provided.
  9. Note: In some cases, you will receive a notification email to modify, fix or change something in you app, by different reasons:
  10. Not following Apple guidelines to publish your application.
  11. Some types of applications will not be accepted, for example, book applications.
  12. See the Common App rejections page to be warned about what kind of applications and situations are not accepted when submitting an application.

Note: Originally posted in https://developerhowto.com/2018/11/29/publish-an-ios-application-in-the-appstore/

Francisco Igor

Written by

Programming from the past century. Worked with many programming languages and software development tools for desktop, web and mobile. https://fraigo.github.io/

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade