Pinterest Stumbleupon Whatsapp
Ads by Google

how to submit itunes appSo you’ve programmed your first iOS app and you want to get it uploaded and submitted to the iTunes store? Well, as I found out recently, it’s not quite as easy as it sounds. The latest Xcode 4.2 development tools from Apple have certainly streamlined the process, but it’s still a daunting task your first time around.

This is a very in-depth topic, and I can’t possibly write a tutorial that will cover 100% of cases or every problem you might come up against. What I can do is give an overview of the entire process so you have an idea where you’re getting stuck; some tips that might help you out on the way; and some pitfalls that kept me searching for days.

Getting Started

In case it isn’t obvious, you need a paid iOS developer account ($99/year) in order to submit applications, free or otherwise, to the iTunes App Store. Ensure your Apple ID includes up to date information, and that the address is accurate. You will need to verify your address and identification details, usually by way of faxing a passport copy and utility bill. If in doubt, call developer support for your local country – I found the UK team were more than helpful in getting my old Japanese Apple ID transferred to a UK address.

I’m also going to assume you already have an app that’s been tested on the simulator, with no bugs or memory leaks. Getting your app to that state may be a monumental task in itself, but I can’t help you there. Crucially, make sure there are no serious compilation errors – though in my case there were lots of “semantic issues”, those are acceptable. Test, test, and test again before you think you are ready for release. Adding icons and debugging code is outside the scope of this tutorial, I’m afraid.

Here’s a quick summary of the whole submission process:

  • Create a unique App ID for your app and change your bundle identifier in Xcode
  • Create a secure Distribution Certificate for yourself
  • Create a Provisioning Distribution Profile for the app
  • Code-sign your app with the distribution profile
  • Archive it, ensuring Project is set to Skip Install-> Yes and Target is set to Skip Install -> No
  • Create an App on iTunes Connect with your meta data and sales information.

Most of this occurs within the Provisioning Portal, XCode, Keychain Access utility and iTunes Connect.

Ads by Google

Create An App ID

  • First, you need to create an App ID – a unique identifier for your app. Head over to iOS Provisioning Portal – the link is one the right side once you’ve logged into the iOS Developer site, and choose App ID from the sidebar.
  • Click the button to create a new app ID. The first description field is just a name for your reference. The bundle identifier is a kind of coded name for your app, usually written as your company domain (in reverse), followed by a dot and the app name. For example:

com.makeuseof.demoapp

how to submit itunes app

  • Over in X-Code, click Target -> Summary, and change the Identifier to be whatever you decided above (com.whatever).

how to submit itunes app store

Create A Distribution Certificate

This is a secure certificate stored on your profile which confirms your developer identity and signs your code. There’s an elaborate version of this process detailed on the Distribution tab of the Provisioning Portal, but the simplified version is:

  • Open up Keychain Access, and turn off OCSP and CRL from the Preferences.
  • From the Keychain Access menu, choose Certificate Assistant -> Request Certificate from Authority.

how to submit itunes app store

  • Enter your email address (no CA email needed), choose Saved to Disk and Let me specify key pair information, then Continue
  • Choose key size of 2048 bits, and RSA algorithm, Continue.
  • This creates a .CSR file on your desktop.
  • In the Provisioning Portal, choose Certificates -> Distribution -> Add Certificate, and upload the file created.
  • It may take a few seconds to approve. Download and install the WWDR intermediate certificate in the mean time (just download, double click it).
  • Refresh the page, and you should be able to download your certificate. Again, install it.

how to submit itunes app store

  • As a final step, open up Keychain Access, highlight your private key that you just installed and select Export Item from the menu. Keep this key safe with a backup somewhere, as without it you won’t be able to submit apps in the event of an OS reinstall or on different systems.

submit app to itunes

Create A Distribution Provisioning Profile

Yes, there are an endless number of certificates and profiles that need to be made here. Bear with me.

Again, from the Provisioning Portal, select Provisioning -> Distribution and create a new profile. Choose App Store as the distribution method, a profile name, and choose the App ID you created earlier. Submit that, refresh a few seconds later, and again download and install the profile – this time it will be added to XCode, but there are no further steps needed here.

If you want, you can check it’s there from the Window -> Organizer -> Devices tab, and select Provisioning Profiles from the sidebar.

Check Code Signing & Build Settings

As a final preparatory step, open up XCode and find Code Signing in the Build Settings area. Ensure that the Release option (for both Project and app Target) has your Distribution Profile selected (the one you installed just now).

submit app to itunes

Select iOS device as the build scheme, and move on to Archiving.

Archiving Your App

Nearly there! Before you can actually submit your app, you need to create an archive of the whole project – the final set of files that will be uploaded to iTunes Connect. Assuming everything has been done correctly until now, the first step is check you have an Archive scheme to build the release version with.

Click on Edit Schemes from the top-left, and either make sure the Archive one is set to Release, or create one now with the appropriate settings. Using the Auto-Create Schemes function within manage schemes should also create this for you.

Next – and this is the bit that really induced headaches for a week in my case – if your app uses external libraries of any sort, you need to change the Build Settings for the project to be Skip Install. To do this, click the main project (not the target) -> Build Settings -> type Skip into the search field, and ensure Yes is selected for the Deployment -> Skip Install option.

submit app to itunes

The TARGETS Build Settings for Skip Install should be No. Double check that – Project Skip Install, Yes; Target Skip Install, No.

This tripped me up because every tutorial I could find simply said “set Skip Install to Yes” – but with these both set to yes, the archive just mysteriously wouldn’t materialize.

The final step then is to build your deployment archive to upload. Select Product -> Archive from the menu. Once completed, you should be able to find your app in the Organizer -> Archives section.

Create An App On iTunes Connect

iTunes Connect is the commercial side of the app store, which handles the actual sales of your finished app, which countries to sell in, description and screenshots etc. It’s actually quite easy, but there’s a lot of information to be filled out, and it’s at this point that you’ll decide whether to sell the app, give it away, enable iAds to be displayed, enter bank information, and sign any contracts needed for release.

To get started, just head to iTunes Connect and Add a New App. You’ll need to choose the bundle identifier from the drop selection box (the com.whatever name you created earlier), but I won’t walk you through the rest of this as it’s really self explanatory – Apple will tell what’s waiting to be done at every step of the way.

how to submit itunes app

Eventually, your app will be added, and be in the Waiting for Upload status, at which point you can go back to XCode Organizer -> Archives, and hit Submit to upload. You’ll asked to log in and check which app it is you’re uploading, and now you need to just wait for it to be approved – usually a few weeks.

This has been a totally new experience for me as I’m sure it will be for many of you also. Hopefully you’ve got a clearer understanding of the process now – personally I was a bit daunted by it all and found myself muddling through most of it. Is it as complicated as it sounds? Yes – but only the first time. And in fairness, it’s this rigorous process that prevents insecure apps and malware from ever making their way onto the app store, so that’s something I’m eternally grateful for.

Let us know your experiences submitting to the app store in the comments.

  1. Dale randall
    February 16, 2016 at 11:12 am

    Thanks for the info. I have an app in the store however the sales are pathetic. I have no idea how to sell it properly and have not been shown how to. It's very confusing.

  2. Amit
    December 10, 2015 at 1:03 pm

    Thanks!! sounds great but one more info is there to have best on this.I am iPhone developer having 7 years of exp. and additional features came to have the best experience with iTunes app download.Please check it out!!

  3. mobile application development
    January 6, 2015 at 12:23 pm

    Thanks for sharing great post.

  4. Bart McFarling
    June 8, 2012 at 5:39 am

    Good info, no issues and app approved on first try, took 7 days, then "In Review" for 4 hours, the "Packaging for App Store" for 10 minutes then there, still hasn't appeared in search results yet.

    Bart McFarling, Missoula, MT

  5. Scott Brooks
    May 20, 2012 at 11:14 am

    Thanks for providing this detailed tutorial James. I'll be creating my first app in the next few weeks and had no idea how to submit it to itunes. BTW, I'm grateful too that the process is daunting. Spammy, illegitimate content and hurts everyone.

  6. monos de trabajo
    April 8, 2012 at 2:08 am

    Hello, i believe that i saw you visited my web site so i got here to return the prefer?.I'm trying to to find issues to improve my site!I suppose its ok to use some of your ideas!!

  7. SorenJ
    March 7, 2012 at 3:31 pm

    Hi James.
    I'm currently on an app-development team where my task is the SEO-part of "it all"... this means, that I'm the copywriter creating the "Promotion page" wich users see when searching for aps.

    My question is:
    Are there any best-practice for keyword tagging the app?

    Just to give you an idea -
    Are there a limit to keyword usage?
    Is "several keyword" phrases irrelevant (If i use "house" as a keyword are all "house + adjective" irrelevant)?

    Best regards

    SorenJ.

    • James Bruce
      March 10, 2012 at 8:26 am

      Hi Soren. I'm afraid I've never given much thought to the SEO of app marketing specifically, but I imagine it's the same as SEO for any other page. Regular SEO rules therefore apply - don't stuff you page with keywords. Beyond that, multiple theories abound regarding keywords, none of which I particular favor above another. If you try to game Google, you will be burned ;)

  8. Chris Hoffman
    February 2, 2012 at 7:18 am

    Last step: Hope that Apple approves your app because, otherwise, your development time was wasted.

    Not particularly fair to iOS developers.

    • James Bruce
      February 2, 2012 at 9:15 am

      But much better for users. Really though, the only reason your app would be rejected is because it (a) goes against policies, which you should have read (b) uses private APIs thats specifically disallowed (c) represent either a malware threat, or contains a serious memory leak. Good developers don't get rejected. Bad ones do. 

      Mine was approved within a week, by the way. 

      Hate on the system if you like, but iphones dont get malware. Simple. 

      • Chris Hoffman
        February 2, 2012 at 9:26 am

        Well, do bear in mind that Google Voice and Skype were initially rejected. I'm not sure if that makes Google and Skype "bad developers" -- maybe, I guess.

        Ultimately, it's a legitimate philosophical difference depending on what values are important to you -- and reasonable people can disagree depending on what they value.

        I just thought I'd chime in because it's certainly a risk to developers, from what I've heard. (I'm not a developer, by the way.)

      • Eric Reinhart
        May 29, 2012 at 9:47 am

        "Good developers don’t get rejected. Bad ones do." Thumbs down. Even the best developers get rejected sometimes. This is especially true if you are using something like iCloud. Their definition for what can and cannot be backed up is confusing even for senior developers (it looks obvious, but data that cannot be recreated and needs to persist is a gray area). Resubmitting is an easy option and easily done. For anyone reading this, don't be sad if you get rejected. Fix it and resubmit.

        • muotechguy
          May 29, 2012 at 9:52 am

          Fair enough; I was generalising too much. I think Apple are quite good with their rejections though; as you say, resubmitting after fixing one small point is easy enough. I wonder how they phrase "your app sucks" though?

  9. Valentin-Angelo Uzunov
    February 2, 2012 at 4:12 am

    Is there anyway to build Apps, and submit them without a Mac computer? Basically using windows 

    • James Bruce
      February 2, 2012 at 9:16 am

      No. None at all. Sorry. 

    • David
      June 1, 2012 at 6:43 am

      You can always use an emulator like virtual box to emulate a mac (you'll need a disk or iso) and then download xcode and you're up and running!

Leave a Reply

Your email address will not be published. Required fields are marked *