Submit your app to the App Store

Take also look at the free tutorial called “Submission to the AppStore” at the bottom of my “GalaxyFighter Course” .

In order to publish your app on the App Store you have to go through a very complex process. It is easy to be overwhelmed when you meet new concepts like:

developer certificate, distribution certificate, developer provisioning profile, distribution provisioning profile, UDID, App ID, iOS provisioning portal, Code Sign, Code Signing Identity, WWDR intermediate certificate, iOS Team Provisioning Profile, iOS Developer Program, Bundle Identifier, Add Hoc Build, Enterprise Build, certificate key iOS Developer Program team member , iOS Developer Program team agent, Automatic Device Provisioning, Developer account, Apple ID, RSA, Deployment , iOS Dev Center, iTunes Connect, keychain

There are five major steps you have to do in order to submit your app (probably you have already done some of them):

    1. Enroll as Apple Developer
    2. Obtain the Certificates.
    3. Obtain Provisioning Profiles.
    4. Code Sign and Upload
    5. Go through the Approval process.

submit

Each step will challenge and frustrate you, but if you take it slowly step by step and follow the instructions below, the pain might be reduced. Grrr, I wish Apple had done a better job for the submission process. As it is today you have to perform something like 200 steps and wait one to two weeks to get your app published, even if it is not rejected.

One important principle to remember is that Apple sees you as two roles: a developer and a seller (or distributor as they like to call you). So almost everything you do you have to do twice for instance you have to have a developer certificate , and you also need to have a distributor certificate. The same goes for the provisioning profiles.

I am right now working on a video based tutorial of the whole process, and it will be a lesson in my GalaxyFighter Course. But in the mean time I think that this list might be helpful for others.

If you use this list, please let me know if there is anything that is difficult to understand or follow. I will update the list to make it a useful tool for others.

1. Enroll as Apple Developer
Apple charges USD 99 for this. Go to iOS Dev Center at https://developer.apple.com/devcenter/ios and enter 3 pieces of information
- APPLE ID : (something like uelandbob@gmail.com)
- Password: (something like Eu1945to2012)
- Company/Organization: (something like Bob Ueland Inc)
and a lot of other personal information that you don’t have any use of (but Apple does).

2a. Obtain intermediary certificate
- Go to iOS Dev Center and click on the IOS Provisioning Portal link (in the upper right corner).
- Click on the Certificates link (in the upper left corner).
- If you don’t have the WWDR intermediary certificate installed, click here to download.
- Find the AppleWWDRCA.cer file on your hard disk, and double click on it. This will open it in the Keychain access.

2b. Obtain a developer certificate
- From Keychain Access menu choose Certificate Assistant/Request a Certificate from a Certificate Authority…
- A dialog box appears.
- Enter the email associated with your Apple ID.
- Enter a name for instance your name in the Common Name field.
- Choose Save to disk radio button.
- Check the Let me specify key pair information
- Click on Continue button.
- Save it somewhere on your hard disk (for instance desktop).
- A dialog box appears. Choose 2048 bits as Key Size, and RSA as Algorithm.
- Click on the Continue button.
- Click on the Done button. This will save the CertificateSigningRequest.certSigningRequest file on your hard disk.
- In your your browser, go to iOS Provisioning portal. Click on Certificates link (left hand side). Click on the Development tab, if it is not already chosen. Then click on the Request Certificate button.
- A dialog box appears asking you to choose the request file. Choose the CertificateSigningRequest.certSigningRequest, and click on the choose button.
- Scroll down and click on the Submit button.
- Pending issuance. Wait 15 seconds and refresh the web page (or just click on the Certificates link).
- Click on the download button. This will download developer_identity.cer file on your hard disk.
- Go t Finder and find the file developer_identity.cer.
- Double click to open it. It will install it in the Keychain Access.
- Open up the disclosure triangle. Right click on the private key and export.
- Give it a name and provide passwords when asked. Save it on your hard disk and make a backup of it.

2c. Obtain a distribution certificate
- From Keychain Access menu choose Certificate Assistant/Request a Certificate from a Certificate Authority…
- A dialog box appears.
- Enter the email associated with your Apple ID.
- Enter a name for instance your name in the Common Name field.
- Choose Save to disk radio button.
- Check the Let me specify key pair information
- Click on Continue button.
- Save it somewhere on your hard disk (for instance desktop).
- A dialog box appears. Choose 2048 bits as Key Size, and RSA as Algorithm.
- Click on the Continue button.
- Click on the Done button. This will save the CertificateSigningRequest.certSigningRequest file on your hard disk.
- In your your browser, go to iOS Provisioning portal. Click on Certificates link (left hand side). Click on the Distribution tab, if it is not already chosen. Then click on the Request Certificate button.
- A dialog box appears asking you to choose the request file. Choose the CertificateSigningRequest.certSigningRequest, and click on the choose button.
- Scroll down and click on the Submit button.
- Pending issuance. Wait 15 seconds and refresh the web page (or just click on the Certificates link).
- Click on the download button. This will download developer_identity.cer file on your hard disk.
- Go to Finder and find the file developer_identity.cer.
- Double click to open it. It will install it in the Keychain Access.
- Open up the disclosure triangle. Right click on the private key and export.
- Give it a name and provide passwords when asked. Save it on your hard disk and make a backup of it.

3a. Obtain a Developer Provisioning Profile
- In your your browser, go to iOS Provisioning portal. Click on App IDs (left hand side).
- Click on the New App ID button.
- In Description put the name of your app (something like GalaxyFighter).
- In Bundle Identifier put a name (something like com.bobueland.galaxyfighter).
- Click on the Submit button.
- Click on configure link, just to see what it looks like.
- Click on Devices (left hand side)
- Click on Add Devices. (you need UDID. Xcode/Organizer/Choose device. Copy Identifier.
- Enter Device Name (something like iPodTouch02).
- Paste in the Device ID.
- Click on Submit button.
- Click on Provisioning (left hand side).
- Click on New Profile.
- Enter Profile Name (something like GalaxyFighter Dev Profile).
- Check the appropriate checkbox in Certificates.
- Choose the appropriate App ID.
- Check the appropriate checkbox in Devices.
- Click on submit button.
- Refresh to change from Pending to Download.
- Download (GalaxyFighter_Dev_Profile.mobileprovision) to your desktop.
- Go to the Finder.
- Right-click on the downloaded file, and open with Xcode.
- Click on device and check that it is there in the Provisioning Pane. If not click on the + button and add it.

3b. Obtain a Distribution Provisioning Profile
- In your your browser, go to iOS Provisioning portal.
- Click on Provisioning (on the left hand side)
- Click on the Distribution tab.
- Click on the New Profile button (on the right hand side).
- Select App Store radio button (as the Distribution method).
- Enter a Profile Name (something like GalaxyFighter App Store).
- Select the appropriate App ID.
- Click on the Submit button.
- It says Pending. So wait 15 seconds and refresh the web page.
- Click on the Download button.
- The file will be downloaded on your hard disk (under the name (GalaxyFighter_App_Store.mobileprovision).
- Go to the Finder.
- Right-click on the downloaded file, and open with Xcode.
- Click on device and check that it is there in the Provisioning Pane. If not click on the + button and add it.
- If not already selected, click on the Provisioning Profiles in the Organizer. You should now see the Provisioning Profile there.

4a. Prepare for Uploading
- Go to ITunes Connect and sign in.
- click on Manage Your Applications.
- click on Add New App.
- Add a name (something like GalaxyFighter).
- Add a SKU number (something like bob120501).
- Choose the BundleID.
- Click on Continue.
- Choose a date in the future.
- Choose a price (for instance Free)
- Click on Continue.
- Enter meta information (version, description, primary category, keywords, email address, support URL, App URL)
- Enter none, none, none, .. for App Content Description.
- Upload images.
- Click on Save.
- Status is now Prepare for Upload.
- Click on ready to upload button (upper right hand corner).
- Does your app contain encryption.. choose No.
- Click on Save and then Continue.
- Status is now Waiting for Upload.

4b. Code Sign and Upload
- Open Xcode. Click on the root of the three (the upper left icon in Groups and Files). Click on TARGETS, then Build Settings. Choose the Basic tab.
- Navigate to the Code Signing Identity. Click on the third column and select the provisioning profile that you created.
- Change the provisioning profile for all the rows under Code signing.
- Change the Scheme at the top to IOS device.
- From Product menu choose Archive.
- You will be asked if you want to use your private key. Answer Always Allow.
- Open the Organizer.
- Click on Validate… button. enter your username (email address) and password. Click on Login. Choose Identity and Application. Click on Validate button. If everything goes well, click on OK.
- Click on Submit… button. Enter the username and password again. Choose Identity and Application. Click on Validate button. Now it should say Uploading application for submission. If everything goes well, click on OK.
- Submit. Allow. Provide the user name and password.

5. Approval
Go back to iTunes Connect and refresh. The status should change from Waiting for Upload to Upload Received.
After a while the status will be changed to “Waiting for Review” and will stay in that status for about one weeks (yes I know that it suck, but what can you do). Then it will turn to “In Review” and after a couple of days it will either be Rejected or “Ready for Sale”.

Here are two documents that might be of help:

Don’t forget to take a look at all the other free tutorials.

This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to Submit your app to the App Store

  1. Viacheslav says:

    Bob, I have one paid Apple Developer account, but its not mine, I just a team member. For now I need personal Developer account. Could I change credit card or SWIFT account credentials some time later after enrolling as Apple developer?

    • Bob says:

      Hi Viacheslav,

      I don’t know the answer to that, maybe you should ask on cocos2d forum, since there are many people who have gone through the process and maybe someone had the same problem as you.

  2. Pingback: Issue #13 | iOS Biz Weekly

  3. usman says:

    hello bob

    really helpful tutorial.

    just one issue, in the 2c. Obtain a distribution certificate

    shouldn’t we go to Distribution tab instead of development tab?

    Thanks,
    Regards
    Usman

  4. mick S says:

    Thank you bob,

    That will be a great help when needed!

Leave a Reply