Road closed barricade

You’ve designed and built a high-quality iOS app, now you need to get it into the App Store. By Apple’s own measures, the App Store serves more than a billion users, meaning that a high quality iOS app has the potential to reach a huge audience. But to reach that audience, your app has to make it through Apple’s review process.

The App Store has literally millions of apps in it, and Apple is responsible for reviewing more than a thousand new submissions per day. In this article, we’ll look at the submission and review process, as well as common reasons that apps get rejected and tips on how you can avoid them.

Before You Submit

It’s always a good idea to review the submissions guidelines before you send your app to Apple. Fortunately, Apple provides a pretty comprehensive developer guide that outlines every step of the process. The current pre-review checklist covers five major concerns: Safety, Performance, Business, Design, and Legal. Here’s a break down each of those areas:

  1. Safety covers everything from objectionable content to medical information to the ability to reach the developer with support questions.
  2. Performance refers to the functionality of your app. If your app is obviously incomplete, slow to load, has incomplete or inaccurate metadata, or contains major bugs that render parts of it inoperable, it will be rejected.
  3. Business primarily covers payments. The key here is that any purchases made through your app will need to go through In-App Purchases (IAP). If Apple can’t get their cut, they’re going to reject your app. There are also specific rules governing how subscriptions and third-party content can work.
  4. Design covers the basics of user experience. Apps shouldn’t spam their users or be obvious copycats or clones of other apps.
  5. Legal covers things like data storage, user privacy, copyrights, intellectual property, gambling, and similar issues where your app may have to comply with particular laws or regulations.

What Apple Is Looking For

The goal of the review process is not to determine whether any given app is great or not. (Apple has a separate editorial process for identifying and highlighting the best apps in the App Store.) Rather, they’re checking to make sure that all apps meet a minimum quality standard. More specifically, they want to make sure that apps: 1.) function as they’re supposed to and 2.) don’t mislead or defraud users.

Common Rejection Reasons

According to Apple, the two most common reasons for rejection (accounting for around 30% of all rejections) are incomplete information and bugs. Behind that, false, fraudulent, or misleading representations will get an app rejected, as can having a confusing or poorly designed user experience. Crashes and bugs, placeholder content, and broken links are other causes for rejection that Apple highlights. Beyond these, however, there are a number of other factors that have been known to get apps rejected.

Among other reasons, Apple may reject apps that include:

    1. References to App Store competitors. This isn’t unique to Apple, so if your app is also available on the Google Play store or Windows, it’s generally best to not mention that inside your iOS app. Even including it in your metadata is verboten.
    2. Non-Apple payment options. Any purchases made through your app will need to go through In-App Purchases (IAP). Links, buttons, or other calls to action that direct users to another payment option will be rejected. This point in particular has been known to trip up even major companies that have tried to include their own payment systems in their iOS apps.
    3. Violating user privacy. All apps that require permissions for location sharing, accessing contacts, etc. need to clearly state the reason they need access to that information. Otherwise, they’ll probably get rejected.
    4. Using Apple trademarks or imagery. Apple is famously protective of its branding and IP, so it should come as no surprise that any app that has the “look and feel” of an Apple product is likely to get bounced.
    5. Not meeting performance expectations. Another feature that’s not unique to Apple. Apps that take an inordinate amount of time to load or experience consistent bugs may be rejected.
    6. Misusing Push Notifications. Apple has very specific guidelines governing how Push Notifications can be used. Displaying or sending sensitive information, advertisements, or unsolicited notifications will get your app rejected. Even sending Push Notifications by any means other than Apple’s API can be cause for rejection.
    7. Missing privacy policy. If your app requires users to create an account or sign in to access an existing account, you’ll probably need to provide a link to a privacy policy either in the app or to an external source. You’ll also need to include a support email address somewhere.
    8. Calling private APIs. Apple’s private APIs are designed to give Apple developers access to backend data and functionality–they’re not meant to be used by outside developers. Calling a private API to perform some functionality (like forcing an orientation change, for example), will likely get your app rejected. (This is a reason to be cautious when using third-party SDKs.)
    9. Using features in a way that’s unintended. (Less common now.) Changing the functions of certain buttons (turning the volume controls into a zoom, for example) can get your app rejected.
    10. Wrapping web pages into shells and publishing it as an app. You really need to build a native app. Mobile web can be a component of the app, but not the entirety of the app. For example, Facebook’s feed is a natively implemented feature, but your account settings are essentially a mobile webpage wrapped inside the app.
    11. Forcefully entering another app. Related to calling private APIs. Your app can’t take data from another app without that app approving it.
    12. Turning on hidden features. Enabling a hidden feature after Apple’s approval is a surefire way to get kicked out of the App Store, even if the app was previously approved. This can be a worst-case scenario for a developer, because there won’t be a prior version of the app available for download while you fix and resubmit.

The Approval Process

The approval process currently consists of two parts:

  1. First, an automated tool checks for common problems and mistakes, including hidden APIs, missing logos, icons, etc. The majority of apps that make it through this automated step go on to be approved.
  2. The second part involves a human reviewer. The reviewer will actually download and review your app with an eye toward subjective qualities like performance, content, and user experience. There is some subjectivity to these reviewers, but generally these reviews are meant to be quick checks to make sure that your app works as advertised. If you’re a small-time or first-time app developer, you should expect a more thorough check.

If your app is rejected, Apple will generally point toward the specific guidelines your app violated, but they won’t necessarily tell you what part of your app violated that guideline. Once you’ve reviewed your app and corrected any errors, it’s time to resubmit.

Need help building a high-quality iOS app or updating your existing app? Building an app is a complex project, requiring front- and back-end developers, as well as UX and UI designers. Explore freelancers on Upwork today.