Submitting iPhone Apps To The Apple App Store – A Step by Step Guide

Here’s a quick step by step guideline that you can print and keep hand, to use when your app is ready for submission. I am assuming that the reader of this article has an iPhone Developer License.

====== Step 1 ======

Certificate is an essential element to submit or test an application on iphone. It comes with code sign(Signatures) which would verified when an application is submitted on apple store or when tested on iphone.

One can bypass these if an application is installed on jail-break iphone or  when submitted on Cydia but this is not possible when one wants submit it to Appstore.

One has to through 2 step procedure to create a certificate from developer portal. I simply copied those two from “iphone developer portal”

[1] Generating Certificate Signing Request

[2] Submitting a Certificate Signing Request for Approval

Generating a Certificate Signing Request:

[3] Open the Utilities folder and launch Keychain Access from the Applications folder.

[4] Set the value of Online Certificate Status Protocol (OCSP) and Certificate Revocation List (CRL) to “off” in the Preferences Menu.

[5] Select Keychain Access -> Certificate Assistant -> Request a Certificate from a Certificate Authority.

[6] Fill in your email address in User Email Address Field. Confirm that this email address is same as provided at the time of registering as iPhone developer.

[7] Fill in your name in the Common Name field. Confirm that this name is same as provided at the time of registering as iPhone developer.

[8] It is not necessary to have an Certificate Authority (CA). The ‘Required’ message would be eliminated after finishing the following step.

[9] Click the ‘save to disk’ radio button if prompted, choose ‘Let me specify key pair information’ and proceed.

[10] If  you choose ‘Let me specify key pair’ option then one has provide a file name and click ‘Save’. Select ‘2048 bits’ for Key Size and ‘RSA’ for the algorithm in next screen and proceed.

[11] CSR file would created on the desktop by Certificate Authority.

Submitting a Certificate Signing Request for Approval:

[1] Once CSR file is created log in to the iPhone developer program portal and go to ‘Certificates’> ‘Development’ and select ‘Add Certificate’.

[2] 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.

[3] This will followed by notification to Team Admins by email of the certificate request.

[4] The change in the certificate status would informed by email on approval or rejection of the CSR by Team Admin.

Download/Installing Certificate on your machine

[5] 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.

[6] Once this is done double-click the .cer file to launch Keychain Access and install your certificate.

On installation of certificate on your MAC the next step is to create an App ID.

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

====== Step 2 ======

Follow the following steps to create an App ID:

[1] Go to ‘App IDs’ and click ‘App ID’ after logging in to 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.edumobile.iphoneapp) and click submit.

[3] Please do 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 and is the last step for creating binary which would submit it to Appstore.

[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 step up, open your project in Xcode

[1] Click “i” Info button after selecting your project from “Group & File” in left side bar.

[2] Navigate to “Configuration” tab and select “Release”. Click the “Duplicate” button from bottom, name is “iphoneDistribution”.

[3] Click on “Build” tab and choose “iphoneDistribution” and enter in “Search in Build Settings” filed ‘Base SDK’ and select the current selected Device and  change to what gadget your application is targeting (I prefer “Device-iPhone OS 2.0)

[4] Now in “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 done close the Info screen and select the “Target”> “Your App” from “Group & File” in left side bar and click on “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 “Properties” tab and enter “App Id”(i.e. com.edumobile.iphoneapp) in Identifier field.

[8] Now that all is done, click on “Build” (cmd+B) from Xcode>Build.

[9] You will find your binary file created on 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 itunesconnect.

[1] In your browser type (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 sumbit your application to app store. You also need few things in your system before you submit your application.

a) Application Name (must be unique)

b) Application description

c) Application Category

d) URL for your application feedback.

e) Icon of your application in 512 x 512 size.

f) 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).

Thats it… you’re done now! Don’t forget to bookmark and save this page for later!

Leave a Comment:

Dipak Patil says January 6, 2011

very nice,

hamed barakzai says February 14, 2011

thanks and i am interested for that please i will want complet that
hamed barakzai

hamed barakzai says February 14, 2011

thanks for your information and thanks for your e mail please i want that completed
hamed barakzai

choua says April 19, 2011

So even if the status says “Prepare for Upload (Yellow)” I dont need to do anything from that point on? because it says, “you have not yet clicked the Ready to Submit Binary button.” How will I go about doing that?

Vipin_iOSdev says April 20, 2011

Thanks for such a Very Informative Tutorial.

nivas says May 5, 2011

Actually we have to use application loader to upload our binary to apple.. otherwise the app status will be in waiting for upload.

Why you left that part in this tutorial..

nivas says May 5, 2011

Actually we have to use application loader to upload our binary to apple.. otherwise the app status will be in waiting for upload.

Why you left that part in this nice tutorial..

Gopi says May 11, 2011

Very useful.. Thanks

Dileep says June 25, 2011

Very useful article. Thanks a lot.

Coding C# apps for iOS | says January 5, 2012

[…] Submit your app to Apple and wait for it to be accepted and published on the App Store. […]

Software & Technology Solutions says May 28, 2012

You explained this complete process very well great information you shared

Thinzar says October 8, 2012

While uploading app with Application Uploader , I got this error message
“Application failed codesign verification. The signature was invalid , or it was not signed with an Apple submission.”
How can I solve that? Please help.

PH LIM says March 31, 2013

When I upload the amended source code, it trigger me…
“The application wrapper must end in .app. /var/folders/j1/5bpy0tms5wqd0t_v7kr91980000gn/T/ code is invalid.”
How to rectify that? Thanks

Reply says October 30, 2013

Hi there every one, here every person is sharing such know-how, thus it’s good to
read this blog, and I used to pay a quick visit this website
all the time.

Add Your Reply