01. The Checklist
The short answer. Before you press submit: finish every screen, give Apple a working demo login, use Apple's purchase system for digital sales, explain every permission, let people delete their account, make sure you do not look like a copy, and test what your AI built.
// copy this
[ ] Every button works, no placeholder text [ ] No "coming soon" screens [ ] Demo login added in App Review Information [ ] I can explain the app and every service it uses [ ] Digital sales use in-app purchase [ ] Every permission has a real reason written [ ] Users can delete their account inside the app [ ] I tested every AI-built feature myself
02. Finish the App First
This is the number one reason. Apple's Guideline 2.1 says placeholder text, empty websites and other temporary content should be scrubbed before you submit. They also reject builds that crash.
- Tap every button on a real phone, not just the simulator.
- Delete any "coming soon" screen. Hide the feature instead.
03. Give Apple a Way In
If your app has a login, add a working demo account in App Review Information. Turn your back end on too, or the reviewer sees a blank screen.
Apple has also been asking for more. Developers on X have posted Guideline 2.1 "Information Needed" messages asking for:
- A screen recording on a real device showing the full flow
- What the app does and why it matters
- Login details and a feature walkthrough
- Every third party service you use: AI, payments, sign in
Keep those answers ready before you submit, and you skip a whole round.
04. Money: Apple or Stripe?
This is where people get it wrong in both directions.
| What you sell | How to take payment |
|---|---|
| Digital features, subscriptions, premium content | Apple in-app purchase. Guideline 3.1.1. |
| Physical goods | Stripe is fine. |
| Real world services, like a booking | Stripe is fine. |
| Reader apps: books, music, video bought elsewhere | Special rules. Read 3.1.3(a). |
Selling a Rs 499 monthly plan inside the app is a digital feature. Adding Stripe and hoping for the best will not pass.
The Rs 499 plan is an example, not a real app.
05. Permissions
Camera, microphone, location: every one needs a clear reason. The reason is the purpose string, one line you write in Xcode that iOS shows in the pop-up. Guideline 5.1.1 says it must clearly describe your use of the data.
- Good: "To scan the receipt you are uploading."
- Bad: "This app needs camera access."
Only ask for what a feature really uses.
06. Sign Up Means Delete
Guideline 5.1.1(v): if your app supports account creation, you must also offer account deletion inside the app.
07. Looks Like Another App
The rejection nobody expects. Guideline 4.3(a) is the spam rule. Developers on X have reported it for apps that looked like a copy of something already on the store, including their own earlier app. One said rebranding and adding unique features still did not clear it.
Apple also updated its guidelines this year to warn about crowded categories such as wallpaper, timer and flashlight apps. If yours is in one, say clearly what is different.
08. Built With AI?
Apple has no separate AI rule. They review the app you submitted, not the prompt you wrote.
- Open every AI-built feature and use it.
- Be able to explain what each one does in plain words. Guideline 2.3.1 says new features must be described with specificity in Notes for Review, and generic descriptions get rejected.
- Do not trust a feature you have not seen work.
09. FAQ
Why do most first apps get rejected?
Unfinished apps. Placeholder text, broken buttons and crashes come up far more than clever policy traps.
Can I use Stripe in my iOS app?
Yes for physical goods and real world services. No for digital features and subscriptions, which must use in-app purchase.
Does Apple reject apps made with AI?
No. There is no AI rule. The risk is an untested feature you cannot describe.
What is a 4.3 spam rejection?
It means your app looks like one that already exists. Explain what is different in Notes for Review.
10. Sources
- Apple App Review Guidelines. Sections 2.1, 2.3.1, 3.1.1, 3.1.3, 4.3(a), 5.1.1.
- Meer Habib on X. The Guideline 2.1 "Information Needed" request list.
- Dimitri Giani on X. A 4.3(a) rejection that survived a rebrand.
- Adam Lyttle on X. A 4.3(a) rejection for resembling his own earlier app.
- Durov's Code on X. Apple's crowded categories update.
Related guides
- The App Shipping Playbook: from idea to shipped app. The whole process before this checklist.
- 3 rules to stop AI making you a worse developer. Why you test what it built.
- Claude MCP setup. Give your coding agent real tools.
// Free newsletter
I send out guides like this every week
Real setups, real sources, no hype. Drop your email and I'll send you the next one.