App Store rejection troubleshooting
Your App Was Rejected. Here’s What to Do Next.
Rejected by Apple? Find out why — and exactly what to do next.
Understand why Apple rejected your app, identify the likely root cause, and get concrete next steps for fixing, replying, resubmitting, or appealing.
§ 01
Common review problems
- 1.1Objectionable Content1.1 is Apple judging what your app can produce, not only what it shows today. For generative apps, a template that could be used to create objectionable content is enough — even if the template itself looks harmless.
- 2.1App Completeness2.1 is Apple saying the review could not finish. The reviewer hit a wall — login, crash, empty feature, or a binary that does not match the listing — so they stopped.
- 2.3Accurate Metadata2.3 is a listing problem. The store page promises something the binary does not do, or the screenshots, name, or category mislead a reviewer about what they will open.
- 3.1.1In-App Purchase3.1.1 is about how digital value is paid for. If the app unlocks content, features, or subscriptions, Apple expects IAP — and a reviewer who can complete that purchase in sandbox.
- 3.2(f)Account termination (DPLA)3.2(f) is not an App Review guideline. It is the Developer Program License Agreement clause Apple uses to remove an account for dishonest or fraudulent activity — most often because what users see is different from what review saw.
- 4.2Minimum Functionality4.2 is Apple saying the app does not do enough as an app. A wrapped site, a few static pages, or a utility that just launches Safari will land here.
- 4.3Spam4.3 is Apple grouping your submission with something they have already seen. The useful question is not “what is spam?” It is “what did they think you duplicated?”
- 4.8Login Services4.8 is narrow. If you offer a third-party social login, Apple expects Sign in with Apple on the same screen, with equivalent features, unless you qualify for an exception.
- 5.1.1Privacy5.1.1 is about what you collect and how you explain it. A permission you never use, a vague purpose string, or tracking without ATT is enough.
§ 02
Common real-world scenarios
- 01Apple says your app has a similar binaryStart with identifiers and leftover config, not a new bundle ID.
- 02Guideline 4.3 but you only have one appOne listing is not a defense. History, templates, and leftovers still count.
- 03AI hug or kiss templates rejected under 1.1Remove every intimate-contact template for all users, not just for review.
- 04Account flagged under 3.2(f) because ads did not match the appAds are evidence. Pause mismatched campaigns and appeal — no new account.
- 05Rejected because the reviewer cannot log inUsually a Resolution Center reply, not a new archive.
- 06Rejected because of Sign in with AppleIf Google or WeChat is on the screen, this is a binary change.
- 07Rejected because of ATT or permissionsMatch purpose strings to real features, or remove them.
- 08Rejected because of subscriptions or IAPDigital unlocks belong on StoreKit. Sandbox has to complete.
§ 03
Reply, modify, resubmit, or appeal?
Every page on this site answers one question first: what should you do next? The four outcomes below are how we frame that decision.
Reply first01
Review needs more information, a possible misread, or the binary may not need to change.
New build required03
Crash, login, IAP, permission, or product functionality has to change in code.
Appeal recommended04
The guideline’s application is reasonably in dispute, and a factual reply was ignored.
§ 04
Built as a debugger, not a blog
Most write-ups stop at “Apple thinks your app is similar.” A useful page tells you why it might have happened to your binary, what to inspect, and whether you should reply before you rebuild.
01
Diagnosis, not slogans
Start from Apple’s wording, then walk the likely causes — account history, leftover identifiers, metadata, or a true product overlap.
02
Next Action on every page
Reply first, update metadata, ship a new build, or appeal. You should leave knowing which one applies now.
03
What not to do
Creating a new bundle ID, hopping developer accounts, or resubmitting unchanged often makes a 4.3 worse. We say that out loud.