Almost a year ago I created a flowchart to try and make sense of the various states an app can go through during the iOS App Store submission process. There have been some recent changes by Apple so I thought it was time I posted an updated version. There is an updated pdf version of the chart if you want a full size version.
As before the blue boxes indicate states that require action by the developer, the yellow boxes indicate actions are required by the App Store team and red boxes indicate the app has been rejected or withdrawn. Corrections are welcome if you have them.
The process starts with the creation of a new app or a new version of an existing app. At this point whilst you are entering the app metadata, uploading screenshots and setting pricing the app status is Prepare For Upload. Once you hit the ready to submit binary button the app status will change to Waiting For Upload. Shortly after uploading the binary the status should change to Upload Received.
At this point it is possible your app can be rejected for a Missing Screenshot or an Invalid Binary. Common mistakes include forgetting to include an iPad screenshot for a universal app or submitting a binary without incrementing the bundle version number. If you are validating the app within Xcode you should be able to avoid these mistakes. Once you have resolved the issue (check your email for details) by editing the metadata to add the missing screenshots or uploaded a valid binary you should reach the Waiting For Review status.
If you are stuck in the Upload Received state for more than 24 hours you should contact iTunes Connect Support for help.
The App Store submission process seems to have improved greatly over the last year with 98% of new apps and 99% of app updates now reviewed within 7 days. You can generally expect to spend a few days in the Waiting For Review state and then a few more days actually In Review. If your app is Rejected you should get an email notification indicating the reasons or you can check the Resolution Center. Once you have fixed the problems you submit the revised binary and start the process again.
Apple has recently introduced a new rejection status for when you have non-compliant metadata. For example a number of developers are currently reporting rejections because the app description mentions iOS 5 which at this time is still pre-release software and hence covered by the Apple NDA. If your app ends up in the Metadata Rejected state you need to use iTunes Connect Resolution Center to review the reason and edit the offending metadata item. Since you are only changing metadata you do not need to submit a new binary which should save some time.
Whilst you are waiting for Apple (Waiting For Review or In Review) you can abort the process by rejecting the binary using iTunes Connect. Your app status will change to Developer Rejected and you will need to restart from the beginning with a new binary.
Waiting to Go Live
Once you get past the review process there are sill a number of prerequisites that can delay the app from reaching the App Store. The first three states all require developer action to resolve:
- Pending Contract: You have not yet completed the contracts in the Contracts, Tax & Banking section of iTunes Connect.
- Waiting For Export Compliance: If you have an app with encryption subject to export compliance you need to wait until your CCATS has been approved.
- Pending Developer Release: The version release control in iTunes Connect allows you to set whether an app update is automatically released once it is approved or if the developer will manually release it. You will get a reminder email from Apple if you have an App in this state for more than 30 days. You can also reject the app at this point if you do not want it to ever be released.
There is a final pending status that depends on Apple:
- Pending Apple Release: If you have submitted an app for an upcoming iOS release your app will stay in this state until the corresponding iOS release is made public. For example we can expect that Apple will shortly invite developers to submit apps ahead of the public release of iOS 5. You can also reject the app whilst waiting in this state.
The final stage happens quickly once you have the approvals and all prerequisites in place. The Processing For App Store status should quickly become Ready For Sale and then within 24 hours the app should appear in the country specific app stores that you specified when submitting the app. Once the app is on sale the developer can decide to remove it from sale (Developer Removed From Sale) or Apple can identify a problem and decide to remove it from the store (Removed From Sale).