Here is some information for those who are interested in the iPhone app review process from a developers point of view.
App Binary
The first thing to do is write and test your app. iPhone apps are all written using the Xcode development environment on a Mac.
Development Provisioning Profile
All apps on the iPhone are
signed to ensure that only apps approved by Apple can be run on an iPhone -
an iPhone will not run an unsigned app (unless it has been jail-broken). During development, you must obtain a
Development provisioning profile - this is a digital certificate that is generated on the iPhone development portal website. A development provisioning profile combines a specific device, a specific developer and optionally a specific app. This means that a development app can only be run on the device that is specified when the provisioning profile is generated. You download the provisioning profile from the iPhone development portal website and load it onto your iPhone, which is then specified when the app is built and signed in Xcode.
Distribution Provisioning Profile
When the app is complete, and has been tested, you must then generate a distribution version of the app. This is done by obtaining a
Distribution Provisioning Profile - again generated on the iPhone developer portal website. When the distribution profile has been installed in Xcode, you tell Xcode to build and sign the app using the distribution profile. This then generates a signed app ready for submission to the App Store. You must then compress the binary into a zip file.
Submission to Apple for review
You submit the zipped binary to Apple using the iTunes connect website. Before you can upload the binary, you must create a new application and provide all the relevant information for it to go in the app store. You must provide:
- Application Title: The title of the app as shown in the App store.
- Application description: Up to 4000 characters, plain text shown in the app store
- Device Requirements: The types of device the app runs on e.g. iPod Touch / iPhone
- Primary and secondary categories: The app store categories where the app will be listed
- Copyright: The rights holder of the app
- Version number: Version number of the app - increment this with any product updates
- SKU Number: Your own internal SKU number (can be anything)
- Keywords: Up to 100 characters, comma-separated keywords to help people find your app
- Application URL: (optional) a URL with information on the app
- Support URL: URL where customers can obtain support information
- Support Email Address: For Apple to use if there are any problems with your app - this is not shown to customers
- Demo Account - Full Access: (optional) Any additional information to allow Apple to fully test and review the app. They will reject the app if they cannot access some of the features
- Ratings: Specify the type of content in your app. Based on your answers the age rating is automatically calculated.
- Release Date: The date when you want the app to go into the App store.
- Pricing: The price tier of your app, ranges from free to $999
- App store image: A 512x512 pixel image used in the App Store
- Screenshots: A primary screenshot, and also up to 4 extra screenshots. These appear in the App store.
Once all this has been completed, you upload your binary. Then click "Save Changes" - you can now sigh with relief and go and do something else for a couple of weeks while Apple review your app.
Review Status
Once submitted, you app is placed in a queue to be reviewed. The status is as follows:
- Waiting for review Immediately after submission, when the app is waiting in the queue
- In Review When Apple start the review process
- Rejected Apple reject your app for many reasons, but can include the app crashing, unsuitable content or use of an unpublished API.
- Ready for Sale Hooray! the app has been approved and is ready to go into the App store. The app will be available immediately if the release date has already passed.
And that was a summary of the app development and submission process!