Create, Review and Publish your iPhone App (Part 3 of 3)

This is final part of the iPhone App development process. It ends with submitting your app to iTunes.

Now let’s get ready for the big dance – get those dancing shoes polished off and start practicing the moves you’ll be showing off on the dance floor.

Here’s a step by step guide that you can print and keep handy for when your app is ready for submission.

STEP 1

Certificate is an essential element to submit or test an application on iPhone. It comes with code sign (Signatures), which would verify when an application is submitted on Apple’s App Store or when tested on iPhone.

It is a 2-step procedure to create a certificate from the developer portal.

[1] Generating a Certificate Signing Request

[2] Submitting a Certificate Signing Request for Approval

Generating a Certificate Signing Request:

  • Open the Utilities folder and launch Keychain Access from the Applications folder.
  • Set the value of Online Certificate Status Protocol (OCSP) and Certificate Revocation List (CRL) to “off” in the Preferences Menu.
  • Select Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority.
  • Fill in your email address in User Email Address Field. Confirm that this email address is the same as provided at the time of registering as an iPhone developer.
  • Fill in your name in the Common Name field. Confirm that this name is the same as provided at the time of registering as an iPhone developer.
  • It is not necessary to have a Certificate Authority (CA). The ‘Required’ message would be eliminated after finishing the following step.
  • Click the ‘save to disk’ radio button if prompted, choose ‘Let me specify key pair information’ and proceed.
  • If you choose the ‘Let me specify key pair’ option then you have to provide a file name and click ‘Save’. Select ‘2048 bits’ for Key Size and ‘RSA’ for the algorithm in the next screen and proceed.
  • CSR file will be created by the Certificate Authority and placed on your desktop (by default).

Submitting a Certificate Signing Request for Approval:

  • Once CSR file is created, log in to the iPhone developer program portal and go to ‘Certificates’ -> ‘Development’ and select ‘Add Certificate’.
  • Click the ‘Choose file’ button, select your CSR and click ‘Submit’. The portal will reject the CSR if Key Size is not set to 2048 bit at the time of CSR creation.
  • This will be followed by a notification to Team Admins by email of the certificate request.
  • You will be informed of the change in the certificate status by email on approval or rejection of the CSR by Team Admin.

Downloading/Installing Certificate on your machine

  • Once the CSR is approved the Team Members and Team Admins can download their certificates via the ‘Certification’ section of the Program Portal.  Choose ‘Download’ next to the certificate name to download your iPhone development certificate to your local machine.
  • Once this is done double-click the ‘.cer ‘ file to launch Keychain Access and install your certificate.
  • Upon installation of the certificate onto your machine the next step is to create an App ID.

Note: You have to follow this step only once and later you don’t have to make certificates for your other applications.

STEP 2

Follow these steps to create an App ID:

[1] Go to ‘App IDs’ and click ‘App ID’ after logging in to the iPhone developer program portal.
[2] Populate the ‘App ID Name’ field with your application name (that is – iPhone app) and in ‘App ID’ enter something like com.yourdomain.applicationname (i.e com.mobilesnapp.iphoneapp) and click submit.
[3] Please note down the “App ID” as this would be utilized in Info.plist, bundle identifier tag.

STEP 3

Next step would be to create a Provisioning file for our Xcode.  It is the last step for creating binary, which we will submit to the App Store.

[1] After you navigate to ‘Provisioning’ -> ‘Distribution’ click ‘Add Profile’ in iPhone developer program portal.
[2] Choose “App Store” in “Distribution Method”.
[3] In “Profile Name” enter your application name (i.e iphoneapp), which will be your provisioning profile name as well.
[4] In “App ID” select the app name (i.e. iphoneapp), which you created in Step 2.
[5] After downloading the Provisioning profile, copy it to your /YourUserName/Library/MobileDevice/Provisioning Profile.

STEP 4

Now everything is set up, open your project in Xcode

[1] Click the “i” Info button after selecting your project from “Group & File” in the left side bar.
[2] Navigate to the “Configuration” tab and select “Release”. Click the “Duplicate” button at the bottom and name it “Distribution”.
[3] Click on the “Build” tab and choose “Distribution”.  Enter in “Search in Build Settings” filed ‘Base SDK’ and select the current selected Device and change it to the gadget your application is targeting
[4] Now in the “Search in Build Setting” field enter “code signing identity” and choose the provisioning profile created earlier in Step 3. Apply the same to the child property “Any iPhone OS Device”.
[5] Once this is done close the Info screen and select “Target” -> “Your App” from “Group & File” in left side bar and click on the “Info” button again from Xcode.
[6] To be on the safer side repeat step 3 and 4.
[7] With the Info screen still open, click on the “Properties” tab and enter “App ID”(i.e. com.mobilesnapp.iphoneapp) in the Identifier field.
[8] Now that that’s all done, click on “Build” (cmd+B) from Xcode ->Build.
[9] You will find your binary file created by right clicking on “Product”> “YourApp” and selecting “Reveal in Finder”.  Zip this file.

STEP 5

The next step is to submit the binary file created to iTunes Connect.

[1] In your browser type https://itunesconnect.apple.com/ (this website is very slow over https) and login using your iPhone developer account.
[2] Click on “Manage Your Account” -> “Add Application”
[3] On replying to a simple question from Apple you can submit your application to the App Store. You need a few things in your system before you submit your application.

  1. Application Name (must be unique)
  2. Application description
  3. Application Category
  4. URL for your application feedback.
  5. Icon of your application in 512 x 512 size.
  6. Main picture of your application in 320 x 480 or 320 x 460 size.(You have option to submit up to 4 more pictures of your application).

Apple Application Loader

Apple now provides an Application Loader tool that allows you to upload and submit your application to iTunes. Here are the steps:


1. Once installed, open the Application Loader application and select “Next”

2. Enter your iTunes Connect Apple ID and Password.  Select “Next”

3. After the application is done loading, select “Next” to continue


4. Once your applications have been reviewed, select the application you want to add to the iTunes Store and click “Next”


5.I am assuming that you have already tested the app for iOS 4. If yes, on the next screen click “Yes” to continue


6. Click “Choose” to select your binary file to upload


7. Select the binary and click “Send”


8. Your application will take a few moments to authenticate with the iTunes Store


9. Once complete, and your app package has been uploaded to the iTunes Store, click “Next” to continue


10. Congratulations, you uploaded your binary and completed submission of your app to iTunes Connect. Click “Done”


11. Now your app will have a Status of “Upload Received”

To check the status of your app, log into iTunes Connect, click “Manage Your Applications” select your app and click “Status History”.

Below is a breakdown of each application “Status History”:

  • Waiting for Review - your binary has been uploaded to Apple and is in the App Review queue waiting to be reviewed.
  • In Review – Apple is currently reviewing your binary.
  • Waiting for Upload - your binary is ready for upload through Application Loader.
  • Pending Contract – your contracts have not been finalized therefore your app will not be live on the App Store until your contracts are complete.
  • Waiting for Export Compliance - your CCATS is in review for export compliance.
  • Ready for Sale – your app is ready to go live on the App Store on the available date listed for your Rights and Pricing. If the available date has already passed, the application will be live on the App Store.
  • Rejected – your submitted binary was not approved. Your replacement binary can be uploaded via the “Replace Binary” link.
  • Removed from Sale – your app has been removed from the App Store. You will need to contact iTunes Connect Support to determine why your app was removed.
  • Developer Rejected – you have rejected your own app from the review process. Developer rejecting your application removes your app from the review queue and the application review process will start over from the beginning once you resubmit your binary.
  • Developer Removed from Sale – you have removed your app from sale on the App Store.
  • Upload Received - your binary has been received through Application Loader but has not yet completed processing into the iTunes system. If your app has been in the Upload Received state for more than 24 hours, you should contact iTunes Connect Support through the iTunes Connect Contact Us system.
  • Invalid Binary - your binary has been received through Application Loader but did not meet all requirements for upload.
  • Missing Screenshot - your app is missing a required screenshot for iPhone and iPod touch or iPad for your default language app or for your added localizations. At least one screenshot is required for both iPhone and iPod touch and for iPad if you are submitting a universal app.

Now that you are have prepared everything and your dance moves are ready to go all you can do is eagerly wait for your prom night.  It’s about 2 weeks away, which is usually how long the Apple approval process takes.

What other mobile-related technical topics are on your mind?  We’d love to hear from you.

2 Comments to “Create, Review and Publish your iPhone App (Part 3 of 3)”

  1. frostwire 11 April 2011 at 6:25 pm #

    trying to find you on facebook, wats ur profile


Leave a Reply