我已经使用以下代码实现了本机审查提示
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
resolve(@YES);
}
但在iOS 14.4上的真正iPhone X上的调试中并没有显示出来。我在设备的日志中看到这个错误(在一般的控制台中,而不是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.
它在iOS 12.5上的iPhone 6上显示得非常好。( Submit按钮呈灰色显示)。
我注意到从iOS 14开始requestReview
就是deprecated了,所以我尝试使用新方法来传递一个场景:
if (@available(iOS 14.0, *)) {
[SKStoreReviewController requestReviewInScene:[UIApplication.sharedApplication.connectedScenes allObjects][0]];
} else if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}
在设备的日志中也有完全相同的错误。我确保[UIApplication.sharedApplication.connectedScenes allObjects][0]
不是零。
以前有没有人见过这个问题?
发布于 2021-04-17 05:05:32
经过几天的调查,我们最终发现,如果我们在加载一些资源时删除一个显示为闪屏的模式窗口,审查提示就会显示出来。
这似乎违反了Storekit在可见窗口上显示提示的逻辑。
更新
看起来罪魁祸首就是这句话:
window.windowLevel = modalWindow.windowLevel + 1
https://stackoverflow.com/questions/67114920
复制相似问题