Eigo Logo Follow us on Twitter

iPhone App Submission (part 1)

 
Jared Wiltshire 7th June 2010

IntroApple App Store Icon

This article will help explain the process of submitting an iPhone application to the Apple app store.

This first article will cover off setting up the development environment to be ready to use ad hoc and full deployments and will assume that you are signed up as an iPhone developer.

The second article explains the process of submitting an iPhone application to the Apple app store and covers off uploading your binary and setting up the application ready for the app store.

iPhone App Submission (part 2)

To start with, you must visit the iPhone Developer Center. Click the Log In link and enter your developer username and password.

iPhone Provisioning Portal

Your first point of call once logged in is the iPhone Provisioning Portal (located in the top right of the screen) that allows you to download a developer certificate to use on your Mac "Apple Worldwide Developer Relations Certification Authority". This allows you compile code targeted for iPhone and Mac using the machine you download the certificate to.

There are 2 types of certificates that exist;
  • Development
  • Distribution


Follow these steps to set your machine up for application distribution:
  1. Navigate to the Certificates page and download a distribution certificate and install it on your Mac. Once downloaded, double click the *.cer file. This will install the certificate on your machine.
  2. Next the App ID needs to be setup for your application – you can think of this as the namespace for the application. Navigate to the App ID page and create a new App ID. The App ID is made up of two parts; the seed ID and the identifier ID. The Bundle Seed ID can be set to Generate New to allow Apple to generate a new ID for you unless you specifically want to use an existing ID.

    The bundle identifier will look something similar to this;
    uk.co.eigo.appname


    Usually the reverse of your company domain name is used with the app name at the end; this identifies your app as unique to any other.
  3. Finally navigate to the Provisioning Profile page, you need to setup a provisioning profile (make sure it is distribution), in which you select either App Store or Ad Hoc deployment, and select an App ID; select the app ID that you just created.
  4. Finally, download this distribution provisioning profile to your machine and double click it to install it on the machine.


Setting up your development environment (XCode)

After identifying the bundle identifier and distribution profile, you need to ensure your application configuration file is update to match the bundle identifier App ID you setup. Find the Bundle Identifier configuration line, and update to look like this;

uk.co.eigo.${PRODUCT_NAME:rfc1034identifier}


XCode needs to be configured as a distribution build to allow the binary compiled to be compatible with devices and the app store.

To do this you must select the Project menu and then click on Edit Project Settings. This will bring up a new window with all the most detailed project settings on it.

Assuming that you have your app targeted to the appropriate environment, e.g. iPhone OS 3.0, go to the Configurations tab.

Create a duplicate of the Release configuration and name it "Distribution", this simply identifies your build configuration as a different name.

Select the Build tab, using the Configuration drop down select "Distribution". Now scroll down to the Code Signing section and ensure that the iPhone Distribution profile is selected under the Automatic Profile Selector, this ensures that your code is signed as distribution.

Build the Application

Select the current build type to;

Device – (your desired target OS) | Distribution


This will allow you to either run the application directly on a phone plugged into the machine or build onto the hard disk ready for submission to apple / ad hoc distribution to iPhone.

Before you build the application, you should clean out all the previous builds of the application so that all of the older builds of the application are completely removed. You can do this by going to the Build menu and then selecting Clean All Targets, now build the application.

The application binary will be placed in a folder within XCode called Products. Expand this folder and you should see a single file for you app AppName.app. If you want to get this up in a folder view, right click the file and click Reveal in Finder.

Within this folder will be all of the other builds of your application under different names if there were any. Your app will be selected in this folder; this is the file that needs to be uploaded to iTunes Connect for app submission to Apple. I will be following this article up within the coming weeks with another article about setting up iTunes connect for app submission.

iPhone App Submission (part 2)