The Pros and Cons of the App Store Review Process

If you're developing iOS apps, then sooner or later you'll have to deal with the App Store review process.

I've been doing this for a little over a year, and have experienced the pros and cons.

Let's talk money 💵

One thing I used to find frustrating was the cost of being an Apple developer, which is 99 USD per year.

If you're a hobbiest, the barrier to entry is very high - you need a Mac for development, an iOS device for testing (unless you use the simulator), and you have to pay this annual fee. Contrast this to the Google Play Store, which is a one off payment of 25 USD.

I think it's a deliberate move by Apple. You have to really consider whether your app is worth putting on the App Store if you're having to shell out hard cash to do so. In theory, this helps keep the overall quality of apps in the App Store high.

Some companies actually get incredible value out of the 99 USD. It's not uncommon for some larger consumer or enterprise apps to release a new version every few days. Over the course of the year, this is dozens of app reviews. Since Apple manually reviews apps, there is real overhead involved. You can see in App Store Connect when your app enters review, and leaves review. This rarely takes less than 20 minutes.

So even though the cost stings for hobbyists and independents, for larger operators it's not bad at all.

Coping with rejection 😣

Your app will get rejected at some point. Be prepared for it.

It doesn't matter how clean your code is, or how impeccable your UI. Here are some reasons my apps have been rejected:

  • When requesting access to the user's photo library, the reason wasn't explicit enough. You have to give a clear reason why you want access, and what you'll do with the photos.
  • The app icon was slightly different to the image shown in the App Store.
  • Other meta data related issues.

Sometimes you'll have an app which has been approved multiple times with no problems, and it'll get rejected because the review policies have changed.

This is the nature of Apple's walled garden. They want to create a consistent, high quality experience for their customers. If apps never got rejected, there would be no reason for a review process at all.

The important thing is to be zen about it. Sometimes it will just happen.

If there's a hard deadline for an app to go live, don't leave it until the last minute. Ideally you want to submit to Apple at least 5 days before the deadline. This gives you time to submit twice, as iOS apps are typically reviewed in under 2 days, with a bit of leeway to make any changes due to the rejection.

Once an app is approved, you can manually release it to the App Store whenever you want.

Bugs 👾

Bugs are inevitable with software. In the web world, we can push fixes near instantaneously. With iOS, the best you can hope for is 1 to 2 days.

This is the biggest downside of the manual review process.

In the early days of iOS, apps were pretty simple. Remember all the fart apps? As more and more complex software is being run on iOS devices, including large enterprise apps, the potential for bugs increases.

If an app is serving a mission critical function - for example, taking payments in a retail company, then there needs to be a plan in place to prevent serious bugs. This includes the obvious things like unit tests and UI tests, but also a checklist of things to manually test.

Conclusions

The manual review process isn't going away any time soon, and whilst it has advantages, it does pose challenges for developers. By being organised, it can be managed.

As a final thought, even though waiting for an app to be reviewed is a pain, it is remarkable that it now only takes 1 to 2 days. In the early days of the iPhone, it could take over a week.

Resources

This App Review comic that Apple put together is actually pretty informative.