Preparing and Submitting an iOS 5 iPhone Application to the App Store

PreviousTable of Contents
An Example iPhone iOS 5 TWTeetComposeViewController Twitter Application


Learn SwiftUI and take your iOS Development to the Next Level
SwiftUI Essentials – iOS 16 Edition book is now available in Print ($39.99) and eBook ($29.99) editions. Learn more...

Buy Print Preview Book


Having developed an iOS 5 iPhone application the final step is to submit it to Apple’s App Store. Preparing and submitting an application is a multistep process details of which will be covered in this chapter.

Generating an iOS Distribution Certificate Signing Request

The first step in the application preparation process involves the creation of your iOS Distribution Certificate. This is achieved by first generating a Certificate Signing Request using the Mac OS X Keychain Access tool. Locate this tool by opening a Finder window, entering Keychain Access into the search box and selecting the File Name filter.

Once located and launched, perform the following steps to generate the CSR:

1. Select the Keychain Access -> Preferences… menu option and in the preferences panel select Certificates and verify that both the Online Certificate Status Protocol (OCSP) and Certificate Revocation List (CRL) are set to Off.

2. Select the Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority… menu option. In the resulting dialog enter your email address and organization name as they appear in your iOS Developer program account. Leave the CA Email Address field blank and select the Saved to disk and Let me specify key pair information options before clicking Continue. Name the file appropriately and save it to a suitable location.

3. On the Key Pair Information screen, make sure that the Key Size is set to 2048 bits and that the RSA algorithm is selected before clicking Continue.

Submitting the Certificate Signing Request

The Certificate Signing Request created in the preceding section must now be submitted to the Apple developer provisioning portal for approval. The steps to achieve this are as follows:

1. Open a browser window, navigate to http://developer.apple.com and select the Member Center link. Once logged in, select the iOS Provisioning Portal link and click on the Certificates link located in the left hand panel. From within the Certificates screen click on the Distribution tab.

2. Click on the Request Certificate button and on the resulting Create iOS Distribution Certificate screen click on the Choose File button, selecting the previously created certificate signing request in the file selection panel. Once the file has been selected click on the Submit button.

3. After submission, the certificate will be listed as Pending Issuance. Use the browser refresh button to reload the page, at which point the certificate should be ready to download.


Installing the Distribution Certificate

Click on the Download button located next to the certificate and save the file to the local system. The file will be saved as distribution_identity.cer. Double clicking on the file will load it into the Keychain Access tool where it will be listed under Certificates.

Generating an App Store Distribution Provisioning Profile

Applications destined for the App Store must be re-built using a Distribution Provisioning Profile before they can be submitted. The steps to achieve this are as follows:

1. In the developer Provisioning Portal select the Provisioning link in the left hand panel and choose the Distribution tab in resulting screen.

2. Click on the New Profile button and select App Store from the Distribution Method options and provide a suitably descriptive name for the profile.

3. From the App ID menu select the ID corresponding to the application that is to be submitted to the App Store before clicking the Submit button. On the resulting screen the profile will be listed as Pending. Refresh the browser page and click on the Download button to save the profile to the local system.

4. Drag and drop the downloaded profile onto either the Xcode or iTunes icon in the dock to install it on the system.

Adding an Icon to the Application

Before rebuilding the application for distribution it is important to ensure that a launch icon has been added to the application. This is the icon that is used to represent your application on the home screen of the user’s device. Two versions of this image must be provided in PNG format, one 57x57 pixel image for use on standard iPhone displays and another 114x114 pixel image for devices with a retina display.

Once these images are ready, launch Xcode and open the project for the application. Select the application target located at the top of the project navigator panel and scroll down the Summary page until the App Icons section comes into view. Locate the images in a Finder window and drag and drop them onto the corresponding No image specified place holders:


Adding App icons to an iPhone iOS 5 application

Figure 56-1


Similar steps may also be taken to upload splash images that will appear on the screen as the application loads by specifying Launch Images. Launch images are also required to be in PNG format and in 320x480 and 640x960 sizes.

Archiving the Application for Distribution

The application must now be rebuilt using the previously installed distribution profile. This involves using the Archive scheme for the project. In the toolbar of the main Xcode window is a drop down menu that displays the name of the application and the target on which the application will run when compiled. To view available schemes click on the application name and select Manage Schemes… from the menu as illustrated in Figure 56-2:


Managing iOS 5 app build schemes in Xcode

Figure 56-2


When the schemes panel appears select the application from the list and click on the Edit… button to display the current list of schemes:


The Xcode Scheme editing panel

Figure 56-3


Select the Archive option located in the left hand panel as illustrated in Figure 56 3 and make a note of the Archive Name setting. Also verify that Release build configuration is selected and that the Reveal Archive in Organizer option is set before clicking on OK.

Next, select the application target name from the top of the project navigator, select Build Settings in the main panel and scroll down to the Code Signing section. Under the Release settings make sure that your desired iOS SDK target is selected and that the Distribution certificate is also selected. The following figure illustrates the Release build configured to use any SDK and to use the distribution certificate:


Specifying an Xcode iPhone iOS 5 app build certificate

Figure 56-4


With the certificate selected and the correct build settings defined, select the Xcode Product -> Archive menu option. Xcode will proceed to archive the application ready for submission. Once the process is complete the archive will be displayed in the Organizer window:


An iPhone iOS 5 application archive listed in the Xcode Organizer window

Figure 56-5


To validate the application click on the Validate… button and enter your iOS Developer program login credentials when prompted. Xcode will connect to the iTunes Connect service and perform a validation check on the archived application. Assuming no validation errors were detected a screen similar to Figure 56-6 will appear:


A validated App archive

Figure 56-6


Click on the Finish button to dismiss the panel. The application is now ready to be uploaded for App Store review. Before doing so, however, some additional steps need to be taken involving iTunes Connect.

Configuring the Application in iTunes Connect

Enrollment in the Apple Developer program automatically results in the creation of an iTunes Connect account using the same login credentials. iTunes Connect is a portal where developers enter tax and payment information, input details about applications and track the status of those applications in terms of sales and revenues.

Access iTunes Connect by navigating to http://itunesconnect.apple.com in a web browser and entering your Apple Developer program login and password details.

First time users should click on the Contracts, Taxes and Banking link and work through the various tasks to accept Apple’s terms and conditions and to input appropriate tax and banking information for the receipt of sales revenue.

Once the administrative tasks are complete, select the Manage Your Applications link and click on the Add New App button to enter information about the application. Begin by entering a name for the application and SKU of your own creation. Also select the bundle seed that matches the application that has been prepared for upload in Xcode. Next, choose pricing information and specify an availability date before clicking on the Continue button. The remainder of the application configuration process involves specifying items such the version name, application description and ratings and then uploading images and screen shots.

Once the application information has been specified and saved a summary screen will appear similar to the one illustrated in Figure 56-7:


An iTunes Connect Application Summary

Figure 56-7


Click on the View Details button located beneath the application image and review the information for accuracy. Assuming that the information is correct click on the Ready to Upload Binary button, answer the question about cryptography and then click Save. The status of the application will now be listed as Waiting for Upload and you will receive an email message from Apple also notifying you of this fact.

At this point return to the Xcode Organizer window, make sure the application archive is selected and click on the Submit button. Enter your developer program login credentials when prompted, select the application from the menu and proceed through the uploading process.

Once the upload is complete the application will automatically be submitted to Apple for review. Once the review is complete an email will arrive stating whether the application has been accepted or not. In the event that the application has been rejected, reasons for the rejection will be stated and the application may be resubmitted once these issues have been addressed.


Learn SwiftUI and take your iOS Development to the Next Level
SwiftUI Essentials – iOS 16 Edition book is now available in Print ($39.99) and eBook ($29.99) editions. Learn more...

Buy Print Preview Book



PreviousTable of Contents
An Example iPhone iOS 5 TWTeetComposeViewController Twitter Application