Apple's rejection messages cite a guideline number and copy a paragraph from it. They almost never tell you which specific UI element triggered the flag. The fix is usually small and specific — but only if you know what they actually look at.
I've watched a lot of submissions either sail through or get bounced for reasons that, in retrospect, are obvious. Here are the eleven I see most often in 2026, the underlying rule, and what actually fixes it.
1. Guideline 4.0 — design quality
What Apple says: "We will reject Apps for any content or behavior that we believe is over the line."
What they actually flag: an app that looks like it was generated, with placeholder text, mismatched padding, blurred icons, or default Expo splash. They do not write "your app looks AI-generated" in the rejection — they cite 4.0 and point at a screen.
The fix: real copy on every screen. Custom icon and splash. Tab bar that doesn't say "Tab 1" and "Tab 2." A first-launch state that isn't blank. None of this is hard. All of it is the difference between approval and rejection.
2. Guideline 4.3(a) — spam
The most-feared rejection reason and the one that gets misapplied most often. Apple uses 4.3(a) when an app appears to be a low-effort variant of a template — same UI, same flows, only the branding changed.
The fix: differentiation has to be visible, not just claimed. If your app is built on a boilerplate (mine included), make sure the homepage, paywall, and onboarding don't look like the boilerplate's marketing site. Change the layout, not just the colors. Apple has the boilerplate screenshots in their review tooling.
3. Guideline 2.1 — incomplete information
Apple can't approve an app if they can't sign in. "Demo accounts" with stale credentials are the most common 2.1 rejection.
The fix: the demo account in App Store Connect must work end-to-end on the version you submitted. Re-test it the morning of submission. If your app needs a code, paste it into the review notes — don't make the reviewer guess.
4. Guideline 5.1.1(v) — account deletion
Mandatory since 2022. If your app supports account creation, it must support deletion from inside the app. A "contact us" link doesn't count.
The fix: a "Delete account" button in settings. Confirmation dialog. Server-side delete that actually removes the user. Re-test by creating an account, deleting it, and verifying you can re-register the same email.
5. Guideline 4.8 — Sign in with Apple
If you support Google, Facebook, or any third-party social login, you must also support Sign in with Apple as an option of equal prominence.
The fix: Apple Sign In button, system-styled, same height as the Google button, on the same screen. The full guide is in Apple Sign In with React Native and Expo.
6. Guideline 3.1.1 — in-app purchase required
If your app unlocks digital content or features, it has to use Apple's IAP. Linking to your website to subscribe is a fast rejection.
The fix: every paywall path inside the app uses StoreKit (via RevenueCat or directly). External billing is allowed in some categories under the new External Purchase Link rules, but the paths and disclosures are specific — read them carefully if you go that route.
7. Guideline 5.1.2 — privacy policy and data use
Apple cross-checks your App Privacy declarations against what your app actually does. If you ship analytics SDKs that collect IDFV but you didn't disclose it, you get rejected.
The fix: walk through every SDK in your app and what it sends. Update the App Privacy section in App Store Connect. Update the Privacy Manifest (PrivacyInfo.xcprivacy). For the manifest specifically, list every "required reason API" your app uses — Apple now treats omissions as misrepresentation.
8. Guideline 2.5.1 — undocumented APIs
Usually triggered by an SDK that calls a private API. The error message lists the symbol and the framework.
The fix: identify which SDK is responsible (usually a third-party analytics or ad SDK). Update it to the latest version, or replace it. Don't try to ship around the lint — Apple rebuilds the binary scan on every submission.
9. Guideline 1.5 — developer information
Your support URL must work, on a domain that obviously belongs to the developer named in App Store Connect, with a way to reach a human.
The fix: a real support page on a domain that matches your company. Not a Google Form. Not a Notion page on notion.site. A page on your own domain with an email and a privacy policy link.
10. Metadata rejection — keyword stuffing in title or subtitle
If your app title or subtitle reads like a keyword string, Apple's automated review now flags it directly. Examples: "AI Notes — Best Notes App 2026 Productivity Note Taking."
The fix: a real product name and a one-sentence subtitle that describes the app. Move keyword density work into the keyword field, where it's allowed.
11. Crash on first launch
Surprisingly common, almost always traceable to a missing config value (Sentry DSN, RevenueCat key) on the production scheme.
The fix: build the production target locally, install it on a clean device, and launch it. If it crashes, the crash log will tell you exactly what's missing. Don't submit until that path is clean.
What to put in your reply when you do get rejected
If the rejection is wrong (it happens), reply with three things:
- The exact path the reviewer can take to see the feature working. Not "open the app" — "open the app, tap profile, tap delete account, confirm."
- A 30-second screen recording of that path on a real device.
- The version number you re-tested on, and a one-line summary of any fix you did include.
Apple reviewers re-test against your reply. Vague replies get vague re-rejections.
What I'd do before every submission
This list isn't exotic. It's the same list reviewers run mentally. Going through it before you hit "Submit" is the difference between approval in 24 hours and a two-week back-and-forth.
If you want a starting point that already has account deletion, Apple Sign In, App Privacy, the Privacy Manifest, and StoreKit-via-RevenueCat wired up — Shipnative has them by default. If you want the broader pre-launch view, see Mobile App Launch Checklist and App Store Submission for React Native.
