I've implemented the native review prompt using this code
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
resolve(@YES);
}
But it's not showing in debug on a real iPhone X on iOS 14.4. I'm seeing this error in the device's log (in the general console not Xcode):
No "UIViewServicePermittedViewControllerClasses" array in View Service bundle "com.apple.ios.StoreKitUIService"'s Info.plist. Cannot check validity of request for class "ServiceReviewViewController". This will become failure in a future build.
It's showing perfectly fine on an iPhone 6 on iOS 12.5. (the Submit button is greyed out).
I noticed that requestReview is deprecated since iOS 14 so I tried to use the new method passing a Scene:
if (@available(iOS 14.0, *)) {
[SKStoreReviewController requestReviewInScene:[UIApplication.sharedApplication.connectedScenes allObjects][0]];
} else if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
With the exact same error in the device's logs.
I made sure that [UIApplication.sharedApplication.connectedScenes allObjects][0] was not nil.
Has anyone seen this issue before?
