If you've ever been mid-task in an iPhone app and suddenly gotten hit with a star rating popup, you've just experienced the new way iOS developers can ask for your review. Apple's updated its guidelines for in-app review requests, and there's a more intelligent system behind those occasional rating prompts.
Developers working with SwiftUI now have a native API that lets them request reviews without forcing a popup on you right after an action. The system tracks how many times you've completed a process—like finishing a recipe or sending a message—and only triggers the prompt when it makes sense.
What the new API actually does
Starting with iOS 16 and macOS 13, Apple gave SwiftUI developers a single unified way to request reviews. Instead of cobbling together workarounds or relying on third-party libraries, developers now pull `requestReview` from the environment and call it as a function when their conditions are met.
The key constraint: developers must not call this in direct response to you tapping a button. That means no rating popup the millisecond you finish an action. Apple is explicit about that.
They also can't ask more than once per app version. So if you're running version 3.2.1, you'll see at most one prompt for that version. Once you update, a new version becomes fair game for another request.
How developers decide when to ask
The logic usually involves tracking something you've done repeatedly. A common pattern counts successful completions of a multistep process—say, saving four notes or completing four workouts—and only then considers showing the prompt.
Developers store this counter using `AppStorage`, which keeps the count between app sessions on your device. They also track which app version last prompted you, so the system won't bother you again for the same release.
Here's the critical part: developers check both conditions before firing the request. The count must reach the threshold, and the current version must differ from the last prompted version. Only then does the prompt get a chance to appear.
When the moment arrives, developers often add a small delay before showing the sheet. A two-second pause after the triggering action gives you time to finish what you're doing rather than dumping a popup on top of your screen immediately.
What this means for you
Apple's review system has always been somewhat of a black box from the user side. You can't see whether a developer actually requested a review when their conditions were met—the system may show the prompt, or it may not. Apple's review infrastructure can throttle prompts at any time, even if the code technically asked for one.
The practical result: you're less likely to see annoying "rate this app!" interruptions in the middle of your workflow. The prompts are better timed, show up less often, and follow consistent rules across the App Store.
This matters for your experience because well-implemented review requests make apps feel more respectful of your time. When a prompt appears, it's because the developer earned it through repeated use—not because they ambushed you the moment you tapped a button.
Review Request Checklist for Developers
| Condition | Required? | Notes |
|---|---|---|
| User completed process ≥ 4 times | Yes | Adjust threshold based on app type |
| Not triggered by direct button tap | Yes | Apple prohibits this |
| Different app version from last prompt | Yes | Store last prompted version in AppStorage |
| Small delay before showing sheet | Recommended | ~2 seconds gives users context |
| Update last prompted version after request | Yes | Prevents duplicate prompts |
Who should care
End users**: The prompts you see are part of a carefully constructed decision tree, not random popups. A well-timed review request is a sign developers followed Apple's guidelines and waited for genuine engagement.
Developers**: You have less control than you might like. The system may throttle your request without telling you. You won't know if the prompt appeared or if users dismissed it. Plan accordingly and don't rely on reviews as your only feedback channel.
App Store observers**: Apple's enforcement of these guidelines varies. Apps that violate the "no immediate action" rule risk rejection or bad press, but small developers have limited recourse if Apple's throttling blocks legitimate requests.
What to watch next
Apple occasionally updates its review request guidelines. Watch for changes to the per-version prompt limit or new signals developers can use to time requests more precisely. Any loosening of the current restrictions would give developers more control; tightening would further centralize the rating experience.
Key takeaways
- IOS 16 brought a native SwiftUI API for in-app review requests that pulls `requestReview` from the environment
- Prompts can't fire immediately after user actions—Apple prohibits this
- Each app version triggers at most one review prompt
- Developers track process completions and compare app versions before requesting
- The system may throttle prompts regardless of developer requests, and developers receive no feedback about whether prompts appeared
- A small delay before showing the sheet improves the user experience
Frequently asked questions
Can developers ask for a review every time I complete an action?
No. Apple's guidelines prohibit requesting reviews in direct response to user actions, and developers are limited to one prompt per app version.
Will I always see a review prompt if I use an app enough?
Not necessarily. Apple can throttle or block prompts regardless of whether developer code requests one. There's no guarantee a prompt will appear even when conditions are met.
How do developers know when to trigger a review request?
They typically track user actions using `AppStorage`—for example, counting how many times a user completes a multistep process—and compare the current app version against the last version that prompted for a review.
Can developers tell if I dismissed a review prompt?
No. Developers receive no signal about whether the system showed the prompt or whether you dismissed it. They only know their code requested one.
Why do some apps never ask me to rate them?
Some developers choose not to implement review requests at all, while others may not meet the usage thresholds they've set internally before triggering a request.