What does Apple Guideline 2.1 say?
You hit Submit, and the note in App Store Connect says Guideline 2.1, App Completeness. On your laptop the app works. On the reviewer's phone, the login failed, a screen crashed or the content was still lorem ipsum. Guideline 2.1 asks for a final version, not a draft. Part (a) covers the app and its metadata. Part (b) covers in-app purchases.
“include demo account info (and turn on your back-end service!)”
In plain words, 2.1(a) asks for four things: complete metadata and working URLs, no placeholder text or empty websites, testing on a real device for bugs and stability, and a demo account if the app has a login. Apple says it will reject incomplete bundles and binaries that crash or show obvious technical problems. Read the full wording on Apple's guidelines page.
Part (b) says any in-app purchases must be complete, current, visible to the reviewer and working. If a purchase you set up can't be found in the app, explain why in your review notes.
What causes a 2.1 rejection, and how do you fix each one?
Each thing the reviewer hit comes from 2.1 or Apple's pre-submission list. The middle column is our view of how it can happen. Start with whichever one the review note names, then check the rest, so you don't lose another review round.
- How it can happen in AI-built apps
- It was tested in a browser preview, not on a device
- The fix
- Run the build on real devices through TestFlight, including an iPad if it can be installed there
- How it can happen in AI-built apps
- Template text, sample images or example data left in
- The fix
- Search every screen and the listing, then replace it with real content
- How it can happen in AI-built apps
- Support or privacy URLs point to a builder preview or an empty page
- The fix
- Open every URL on a phone, signed out
- How it can happen in AI-built apps
- No credentials, or an account that has since changed
- The fix
- Add a demo account that doesn't expire (next section)
- How it can happen in AI-built apps
- A paused database, wrong production keys or a missing redirect URL
- The fix
- Keep services live through review and test sign-in on the release build
- How it can happen in AI-built apps
- The products exist in App Store Connect but aren't reachable
- The fix
- Make them visible and working, or explain in review notes
| What the reviewer hit | How it can happen in AI-built apps | The fix |
|---|---|---|
| The app crashes or hangs | It was tested in a browser preview, not on a device | Run the build on real devices through TestFlight, including an iPad if it can be installed there |
| Placeholder content | Template text, sample images or example data left in | Search every screen and the listing, then replace it with real content |
| Dead links | Support or privacy URLs point to a builder preview or an empty page | Open every URL on a phone, signed out |
| Can't get past the login | No credentials, or an account that has since changed | Add a demo account that doesn't expire (next section) |
| Backend errors | A paused database, wrong production keys or a missing redirect URL | Keep services live through review and test sign-in on the release build |
| Purchases missing | The products exist in App Store Connect but aren't reachable | Make them visible and working, or explain in review notes |
The iPad row is easy to miss. Apple says an app designed for iPhone can run on iPad in compatibility mode, and that removing iPad as a destination in Xcode doesn't stop that if the app has no iPhone-only dependency. So look at your layouts there too. TestFlight allows up to 100 internal testers and 10,000 external ones.
The backend row catches Supabase users in particular. Supabase's pricing page says free projects are paused after 1 week of inactivity. If your project has been quiet while the app waits for review, the reviewer can meet a dead backend. Check the project status before you submit, and again if the review runs long. Supabase's production guide says moving to Pro guarantees it won't pause your project for inactivity, if you'd rather not check by hand.
How do you give App Review a demo account in App Store Connect?
Put a working username and password in the App Review Information section of the version you're submitting. Apple keeps this section private from customers, and you can edit it at any time.
- Create a real account in your production backend, with realistic data on every screen the reviewer needs to see.
- Sign in with it on the release build, on a device, and walk through the main flow.
- In App Store Connect, open your app and the version you're submitting, then find App Review Information.
- Enter the username and password in the sign-in fields.
- Use the Notes field, which holds up to 4,000 bytes, for setup steps and anything the reviewer needs to find.
- Check that the contact name, email and phone number are correct. The phone number needs a plus sign and country code.
Apple's complete review page and App Review information reference add these rules. Missing them can get the submission rejected or slow the review down:
- The credentials must work at submission and must not expire. Changing the password before review starts can get the submission rejected.
- If people sign in through a single sign-on service, include demo login details for that service too.
- If your app has several account types, such as admin and regular user, add the extra credentials in Notes.
- If you sell auto-renewable subscriptions, provide a demo account with an expired subscription, so the reviewer can see the whole purchase flow.
- If sign-in needs an authentication code, put it in Notes in advance. Otherwise a call may be needed, and Apple says calls typically happen within 3 to 5 business days.
A demo mode can replace the account in limited cases. Guideline 2.1(a) allows it when legal or security obligations stop you giving a demo account, with Apple's prior approval, and it must show the app's full features. Apple's review help also mentions apps that handle sensitive information or operate in highly regulated industries. For most AI-built apps, the demo account is the simpler route.
Can you appeal a 2.1 rejection?
Yes, but only after replying, and only if you believe the app already follows the guidelines. Apple asks you to reply to the rejection message first and to appeal if that doesn't resolve it. A reply can clear up a misunderstanding, and a real crash can't be appealed away.
Apple's App Review Board page allows one appeal per rejected or removed app. Cite the guideline and explain point by point how the app meets it. Don't appeal if you've already resubmitted, since resubmitting closes the appeal, and don't appeal a request for more information.
Can you fix a 2.1 rejection yourself?
For some causes, yes. Adding a demo account and waking a backend need no developer and no new build. Replacing placeholder text in the listing or your database is just as simple, but text inside the app needs a new build. A crash takes more, because you need to reproduce it on a device, fix it and upload a build. If the rejection also cites Guideline 4.2, the problem is bigger than completeness: see the Guideline 4.2 guide. And if you offer social login, check Guideline 4.8 before you resubmit.
We take your AI-built app the last mile.
We convert your web app into a native React Native and Expo app. On our Launch plans we also test it, set up the demo login for reviewers, handle messages from App Review and fix what it flags. If it follows the store policies and we can't get it approved, we refund the full fee.