I build Flutter apps on my own. Most of my review problems were not caused by Flutter. They came from small things that are easy to miss when you test an app you already know well.
Here are the checks I now run before each submission.
1. Test the app like a reviewer
Delete the app. Install the release build. Use a clean account. Then go through the app without any saved data.
One app showed an error page at launch during review. The problem did not show up in normal use. A reviewer has no history in your app, so the first launch needs its own test.
2. Keep system prompts away from required buttons
I had an onboarding button reported as unresponsive on iPad. The button worked. A system prompt appeared around the same moment and interrupted the tap.
Now I run prompts after onboarding, and after any one-time paywall. The order is simple: required screens first, then consent and tracking prompts.
3. Make paid features easy to find
A subscription can exist and still be hard to review. In one case, the Settings row needed to open the purchase screen.
Give the paywall a visible route from Settings or from a locked feature. Show the price, billing period, renewal terms, Restore Purchases, terms and privacy links.
Then read each paywall benefit and find it in the app. "Unlimited" needs a free limit. A promised filter needs to exist.
4. Add account deletion before you need it
If users can create an account, plan the deletion flow early. Put it in Profile or Settings, explain what is deleted, and delete server data as well as the sign-in account.
Also tell users that deleting an account does not cancel a store subscription.
5. Ask before sending data to an AI service
If a feature sends photos, text or other user data to a third-party AI provider, ask first. Name the provider, explain what is sent, and send nothing if the user declines.
For paid AI features, check the cost too. Daily limits can still allow a subscriber to cost more than they pay. A monthly limit can protect you.
6. Check the store answers, not only the code
Two small examples from my apps:
- A privacy manifest had to match the app's real tracking behaviour.
- App Store Connect flagged an app with ads because the Advertising answer in Age Rating was wrong.
Review the age rating, privacy answers, screenshots and app description together.
7. Write review notes for a stranger
Give the demo account, the path to the main feature, the paywall location, and the account deletion location. Short steps save a reviewer time.
8. Treat rejection replies as bug reports
Reproduce the issue first. Find the cause, fix it, increase the build number, then reply with what changed and how to test it.
For guideline 4.3 questions, answer each point directly: what the app does, who it is for, what makes it different, and whether it shares code with other apps.
What store review issue has cost you the most time?
This article was created with the help of AI, based on my own App Store review experience.
Top comments (0)