My first experiences with the iOS review process

In this post, I’m going to share my experiences of the iTunesConnect/AppStore review process, so that others can avoid the traps I fell into, and can go in eyes open into it.

To prepare you – you have a small pile of process to go through, and your app can be waiting in the queue for a review for 3-12 days. Every time you cancel your submission and resend it you are sent to the back of the queue. You can, however, request an expedited review to align with an event or launch party, and they will try their best! Please don’t use this facility if your job doesn’t depend on it.

To find out the current wait time is an unofficial time-keeper. Please contribute! You can also see what the current burn rate is by Apple: . Review times can differ during the year – and can get worse just after an iOS update where all those developers without dedicated beta devices panic to rush out any fixes.

Tip: You want to try and do everything Apple asks of you – because if you fail the review, they only tell you ONE thing that was wrong. They stop reviewing at the first fault.


Before you even get to review, or develop your code, one of the first stumbling blocks that you’ll hit is that you need to set up your banking and contracts, fill in all that dull information before you begin. Why? Well, because you won’t be able to test in-app purchases or hook up to iAds without having agreed to all the legal stuff. Don’t spend hours (like I did) thinking you were a bad programmer.


Prepare yourself. You’ll have to provide all your screen shots in about 5,000 different sizes for review. Shame they don’t offer a simple downscaling service given a larger picture! Luckily the Simulator can oblige. You’ll also have to have app icons of different sizes and splash screens in your app. There’s no point in me telling you what sizes to use, as they’d be out of date. Even Apple’s help files are out of date. The easiest way to get it right is to upload any old picture and see what it complains about. Seriously!

EULAs, Privacy Policy:

If you think you’ll be sued, you need to re-base your legal jurisdiction so it’s closer to you, and create your own EULA and Privacy Policy that is compatible with laws and rights protections in your country. As a tip, choose a software company in your country, and use their wording as ‘inspiration’. In addition Apple requests that you maintain a number of clauses that protect them, include those words even if you don’t understand them to pass review seamlessly.

Support page

Apple require you to have a support page, that’s not just the front page of your website. I successfully got through this by just giving them a Facebook page.  e.g.

Combining in app purchases into the review

You have to add the in app purchases to the build in the iTunesConnect page, otherwise you’ll get rejected. You have to get them into the correct state (I think it’s Ready For Submission) before you can attach them. Your IAPs have to be accessible via your App, so if you determine the list of IAPs at runtime from your own server, you need to tell Apple “You need the internet running before you launch the app to test out IAPs” or they will reject you. It happened to me.

Rejection alters state of IAPs

If you get rejected, watch out – the IAPs may be disassociated with your build and put into a rejected or awaiting developer action state. You’ll need to hook them all up again.

Following the guidelines

I mentioned before that you need to follow the App guidelines – I didn’t and forgot to include a ‘Restore Purchases’ button in my app. That was my first rejection.

Post release issues:

1. Your app won’t be searchable straight away, but you can use the ‘…’ button to get the link to the app page and download it – a great opportunity to try it out for real!

2. iAds won’t appear immediately, so don’t fanfare your release too early – wait a few days and the iAds start working.

Tip: If you know the app reviewer is wrong, and you’ve been rejected… Go to the resolution centre and clarify exactly what steps they have to follow and ask them to try again. My binary was red, my IAPs were red and disassociated, I told them they were wrong, and that they had to do x/y/z, (which I should have told them first), and within an hour they’d put my binary to Awaiting Developer Release!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s