How and when to ask for App Store ratings without annoying people
The system review prompt is the cheapest growth lever a small iOS app has, and most apps waste it on first launch. Here is when to ask, what Apple allows, and how many ratings apps that already earn really have.

Ratings do two jobs for a small app. They are the first thing people see next to your icon in search results, so they decide whether someone taps. And they are one of the few signals of real usage Apple can see. Yet many indie apps launch with no review prompt at all, or with one that fires on the second launch and collects irritated one-star taps.
The fix is a few lines of code and one decision: when to ask.
How the system review prompt works
Since iOS 10.3, apps ask for ratings with a system dialog. People can tap a star rating without leaving your app and optionally write a review. Apple controls whether the dialog actually appears:
- If the person hasn't rated your app on this device, the prompt shows at most three times within a 365-day period.
- If they have already rated it, the prompt can only appear again for a new app version, and only when more than 365 days have passed since their last review.
- People can turn off review requests for all apps in Settings.
- Calling the API doesn't guarantee a prompt. Apple says plainly that the request "may not present an alert", which is why it shouldn't be wired to a button.
When testing: during development (running from Xcode), the prompt always appears. In TestFlight builds it never appears, so don't conclude from a beta that your code is broken.
When to ask
Apple's Human Interface Guidelines put it this way: "Ask for a rating only after people have demonstrated engagement with your app or game." In practice that means three rules.
- After a success, not during work. Ask at the end of something the person wanted to finish: a saved workout, an exported file, a completed lesson. People rate the feeling they have at that moment.
- After repeated value. One good session is luck. Apple's own sample code waits until someone has completed the main task at least four times and hasn't been asked for the current version yet.
- After a short pause. Apple's sample delays the prompt by two seconds after the success screen appears, so it doesn't cover the result the person was looking at.
What to avoid is just as concrete:
- First launch and onboarding. People haven't formed an opinion yet. Apple warns they "may even be more likely to leave negative feedback".
- Right after an error, a paywall or a permission dialog. You would be asking someone who is annoyed.
- In response to a tap. A "Rate us" button that calls the system prompt may do nothing, because the system may decide not to show it. Use the App Store link for buttons (see below).
The code
SwiftUI (iOS 16 and later)
import StoreKit
import SwiftUI
struct WorkoutDoneView: View {
@Environment(\.requestReview) private var requestReview
@AppStorage("completedWorkouts") private var completed = 0
@AppStorage("lastVersionPrompted") private var lastVersionPrompted = ""
var body: some View {
SummaryView()
.task {
completed += 1
let version = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String ?? ""
guard completed >= 4, version != lastVersionPrompted else { return }
try? await Task.sleep(for: .seconds(2))
lastVersionPrompted = version
await requestReview()
}
}
}
UIKit
SKStoreReviewController.requestReview(in:) is deprecated as of iOS 18. On iOS 16 and later, use StoreKit's AppStore.requestReview(in:) with the current window scene:
import StoreKit
if let scene = view.window?.windowScene {
AppStore.requestReview(in: scene)
}
A permanent "Rate this app" link
Put a row in Settings that opens your product page straight on the review form. Replace the number with your App Store ID (it's in your product page URL):
let url = URL(string: "https://apps.apple.com/app/id1234567890?action=write-review")!
openURL(url)
This always works, doesn't count against the three prompts, and is the right thing to wire to a button.
What Apple doesn't allow
The rules are short and enforced:
- Custom review prompts. App Review Guideline 5.6.1: "Use the provided API to prompt users to review your app … and we will disallow custom review prompts."
- Forcing a rating. Guideline 3.2.2: apps "must not force users to rate the app, review the app … in order to access functionality, content, or use of the app."
- Paid, incentivized or filtered feedback. Apple's guidelines say developers who "manipulate reviews, inflate your chart rankings with paid, incentivized, filtered, or fake feedback" risk being expelled from the Developer Program. Offering a reward for a rating is out.
How many ratings do you actually need?
Less than you might think, but more than zero. We looked at the 357 non-game iPhone apps under two years old that were on the US Top Grossing charts on October 26, 2026:
A quarter of those apps earn with fewer than 44 ratings, so a small rating count doesn't stop an app from making money. The median young earner has 718, and gains about 72 new ratings a month. Apps that get there fastest usually combine a prompt at a natural success moment with a product people use every day.
If your app has zero ratings, though, its search result shows no stars at all next to competitors with thousands. That is the gap the first prompt closes.
Reset or keep your rating?
When you release a new version, App Store Connect lets you reset your summary rating. The product page then says the rating was recently reset until enough people have rated the new version. Apple's own guidance is to weigh this carefully, because a reset "tends to result in having fewer ratings overall, which can discourage some people from downloading your app."
Reset only when a version truly fixes what the old ratings complain about, for example a crash that caused most one-star reviews. Otherwise keep the history.
Answer your reviews
You can respond to every written review in App Store Connect. The reviewer is notified and can update their review, and your answer stays public on the product page. A short, specific reply to a one-star review about a bug you have fixed ("Fixed in 2.3, thanks for the report") is one of the few ways to turn a bad rating into a better one.
Read the bad reviews of your competitors too. Their most common complaint is your positioning. Fledly's idea cards list the most common complaints about the competing apps for this reason.
Frequently asked questions
How many times can an iOS app ask for a rating?
The system shows the review prompt at most three times per app within a 365-day period for a person who hasn't rated it. After someone rates the app, the prompt can only return for a new version after more than 365 days. Your code can call the API more often, but the system decides whether anything appears.
Why doesn't my review prompt show up?
The most common reasons: you are testing a TestFlight build (the prompt never appears there), the person has turned off review requests in Settings, the three-per-year limit is used up, or the person already rated the app. In a development build run from Xcode, the prompt always appears.
Can I design my own rating dialog?
No. App Review Guideline 5.6.1 requires the provided API and disallows custom review prompts. You can add your own button that opens the App Store review page with ?action=write-review.
Can I reward users for leaving a rating?
No. Apple's guidelines name paid, incentivized and filtered feedback as manipulation, and forcing users to rate the app to unlock features is explicitly unacceptable.
When is the best time to ask for a review?
Right after a person completes something meaningful for the second, third or fourth time, with a short pause after the success screen. Never at first launch, during onboarding, in the middle of a task, or right after an error or paywall.
Sources
- Apple Developer: Requesting App Store reviews (sample code, three prompts per 365 days)
- Apple Developer: SKStoreReviewController.requestReview(in:) (development and TestFlight behaviour, write-review link)
- Apple Human Interface Guidelines: Ratings and reviews
- Apple: App Review Guidelines (3.2.2, 5.6.1, 5.6.3)
- App Store Connect Help: Ratings and reviews overview
- Fledly data: US Top Grossing charts (overall and by category), October 26, 2026; ratings from the US App Store.


