Home / Guides

Why Apple rejects apps, and how to fix it

By Ghullam Murtaza, Flutter and full stack developer · Updated 2026-10-24

Getting an email that says "Your submission has been rejected" is frustrating, especially when you have a launch date. The good news is that most rejections come from a small set of problems that are easy to fix once you know what Apple is looking for. Here are the five I see most often when clients bring me a rejected app.

1. The app crashes or looks unfinished

Apple tests your app on real devices, often the newest iPhone and an iPad. If it crashes, shows placeholder text, or has buttons that do nothing, it is rejected under the "App Completeness" rule. Test on a real iPhone before you submit, check every screen, and remove anything marked "coming soon".

2. The reviewer cannot log in

If your app needs an account, the reviewer must be able to get in. Add a working demo account in the App Review notes in App Store Connect, with any steps they need, such as an OTP code that always works for that account. A missing or expired demo login is one of the fastest ways to get rejected.

3. Privacy: permissions, data and account deletion

Every request for the camera, location, photos or contacts needs a clear message telling the user why you need it. Your privacy labels in App Store Connect must match what the app really collects. And if users can create an account in the app, they must also be able to delete it from inside the app.

4. The app does too little

An app that is only a website inside a wrapper, or has one or two simple screens, can be rejected for "minimum functionality". Apple wants an app to feel like an app: native navigation, useful features, and something a website alone cannot do, such as push notifications, offline use or the camera.

5. Payments for digital goods outside Apple

If you sell digital content or features used inside the app, such as subscriptions, premium lessons or coins, Apple usually requires in-app purchase. Physical goods and real-world services, like food delivery or taxi rides, can use Stripe or another payment gateway. Mixing these up is a common reason for rejection.

What to do after a rejection

  1. Read the rejection message in App Store Connect. It names the guideline number, which tells you exactly what to fix.
  2. Fix the cause, not just the symptom, and test it on a real device.
  3. Reply to App Review in the same thread, explaining what you changed, then submit the new build.
  4. If you think the reviewer misunderstood your app, reply politely with a short explanation and screenshots. You can also appeal to the App Review Board.

Most rejected apps I work on are approved on the next submission once the real cause is fixed.

Need help with your app?
I have shipped 10+ apps to the App Store and Google Play. See Fix, upgrade or finish your existing app, or send me your app and I will tell you what it needs.
Get a free, fixed quoteWhatsApp me