SKStoreReviewController调试模式不显示及相关问题咨询
Hey there! Let's dig into your questions about SKStoreReviewController—Apple's rules around this are pretty guarded, so it's totally normal to hit these quirks.
Why the Popup Only Shows 3 Times on New Devices (or Not at All)
Apple enforces strict, system-controlled limits on how often the in-app review popup can appear, tied to each user's Apple ID and device:
- 365-day cycle cap: A single user can see your app's review popup a maximum of 3 times within any 365-day window. Once they hit that limit, no more popups will trigger until the cycle resets.
- Manual review submissions: If a user has ever manually visited the App Store to leave a rating or review for your app, Apple will suppress the in-app popup for that user for the rest of the current 365-day cycle.
- System-level opt-out: Users can disable in-app review popups entirely in their iOS/iPadOS settings (Settings > App Store > In-App Ratings & Reviews). If this toggle is off, your
requestReview()call will never trigger a popup. - User behavior signals: Apple's system learns from user actions too—if a user repeatedly dismisses the popup without rating, the system may stop showing it to them even before hitting the 3-time limit.
Your "partially non-showing devices" almost certainly fall into one of these buckets: the user already used up their popup slots, manually reviewed your app, or opted out of in-app reviews entirely.
Will the Popup Show Again After a User Rates?
Short answer: No, not within the current 365-day cycle.
Once a user completes a rating (even just a star rating, no written review needed)—whether via the in-app popup or by visiting the App Store directly—Apple blocks any further in-app review requests for that user and app until the 365-day window resets. This is designed to avoid pestering users who've already given feedback.
Quick Best Practices to Stick To
- Only call
SKStoreReviewController.requestReview()after the user has had a positive, meaningful interaction with your app (e.g., completing a key task, using the app for several sessions)—don't spam the request. - Never add your own pre-popup asking users if they want to rate you (Apple's guidelines prohibit this, as it defeats the purpose of the system-controlled popup flow).
- For iOS 14+, you can use
SKStoreReviewController.requestReview(in: windowScene)to target a specific app scene, but this still follows all the same display limits.
内容的提问来源于stack exchange,提问作者Tunds

