Besides having an app to submit, there are a few things that are imperative to remember when submitting an app to the Apple app store. Fortunately, Apple has documented a LOT of these things.
Prepare the App
Obviously, the first step is to prepare the app for packaging. Once you’ve gone through testing (ad hoc distribution makes that simple) and are ready to package the app for submission, you’ll want to check out the developer documentation on how to prepare for the app submission (provisioning, signing, etc.).
Preparing for Submission
- You should use your company-approved Apple account with a subscription to the Apple Developer Program with Team Agent access to provision, sign, and submit the app to the App Store. A consulting firm can build and submit for you, but they must do so under your account with your certificates as you maintain legal rights to the application, submission, etc. (this is very evident when signing up for the Apple developer program).
- Start at the App Store Resource Center (which has info on both iOS and Mac app submissions)
- Read all of the App Store Submission Tips!
- Read through the App Store Review Guidelines
- Be sure to read the iTunes Connect Developer Guide as well. This was, by far, one of the most important documents that can be overlooked. Apps are submitted via iTunes Connect, which is a completely separate account from those on the developer program. The document includes specifications for screenshot sizes (you can’t submit if they’re not right), icon specifications, and more. This is a must read if you’ve never submitted an app before or if you want to verify the current requirements (they do change over time).
Submitting the App
- On the computer you will be submitting from, do a final trial run (debug) of the app on a device to ensure it builds and runs without crashing (a top reason for app rejection).
- Login to iTunes Connect, and create your new version. If you want to control the app release date, select the version release control option when prompted. Otherwise, the app will be available as soon as Apple approves it.
- Once you’ve completed the new version information (effectively, updating the app record), go into the Version Details of the version you’re submitting for update, and click “Ready to Upload Binary” (refer to the “Editing and Updating App Information” section of the iTunes Connect Developer Guide)
- An app can be updated (updating an existing, approved app) with a different codebase (or the same codebase with changes) under the following conditions:
- Bundle IDs match
- Certificates match (signed with the certificates from the same account)
- If the app you’re updating is Universal, you must submit a universal app as an update. For example, you cannot submit an iPhone-only version to update a Universal app (which would be removing iPad functionality). However, you can submit an app update that upgrades an iPhone-only app to a Universal app.
- Everything else can change at the version update (name, version, description, tags, screenshots, etc.)
- Make sure you have access to an iTunes Connect account and that the developer program subscription is current!
- Upgrading Xcode to the latest and greatest can resolve issues for developers, but it can cause issues for anyone not on the latest/greatest version if you edit the codebase in a different version of Xcode. If you want to upgrade, make sure your developer counterparts are ready to upgrade as well.
- Make sure you can access iTunes Connect from your company network (or find a location where you can access it)! This is often blocked by network admins since it’s effectively connecting to iTunes.
- Only the Team Agent for a company can login to iTunes Connect to do app submission, and the kicker is there is only one Team Agent allowed on an account. A Team Admin cannot submit apps via iTunes Connect (much less even login to iTunes Connect). And only the Team Agent can relinquish that role to another user in the developer program (managed through the Apple Developer portal).