SKStoreReviewController is Dismissed if the user Taps on the screen before the rating popup appears

Once you call requestReview, tap on the screen before the dialog appears and it is cancelled. There is no way of knowning if the dialog was cancelled intentionally ("Not Now" button) or unintentionally.

It also uses up the chance of showing the dialog (only 3 per 365 days)


a major oversight? 😮



bug ids:


31302748 [reported again for 10.3.2 beta 1]

31035595 [reported during 10.3 beta 6]

Replies

I'm still seeing this in iOS 11. Is this still not fixed??!


I've set a breakpoint on

[SKAppStoreReviewController requestReview];


I've set the breakpoint to continue when hit, but play a sound, so i know for certain that it is being called. If i tap the screen at the exact moment or slightly afterwards, the review prompt is dismissed. Sometimes I can even see it show for milliseconds before being dismissed again. When the prompt's animation is completed and the prompt is showing completely, you cannot tap outside of the modal to dismiss it. However, tapping *anywhere* on the screen when its attempting to present seems to dismiss it.


After researching, I found this post that mentions that UIWindowDidResignKey is not called when the review controller is dismissed. This makes me think that the review window is never set to be the 'key window', and a tap to the _real_ key window milliseconds before the new keywindow finishes animating results in the _real_ key window becoming the front window. I dont actually know if this is the case- totally an assumption.


Either way, this bug seems to still exist. Bummer!

I would suggest filing a bug report. So far I guess they only have one report and it's not even on their "radar"