SKStoreReviewController requestReview 在 iOS 14 上不起作用
Posted
技术标签:
【中文标题】SKStoreReviewController requestReview 在 iOS 14 上不起作用【英文标题】:SKStoreReviewController requestReview not working on iOS 14 【发布时间】:2021-04-15 19:27:43 【问题描述】:我已经使用此代码实现了本机评论提示
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 上显示得非常好。 (提交按钮显示为灰色)。
我注意到自 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]
不为零。
以前有人见过这个问题吗?
【问题讨论】:
【参考方案1】:经过几天的调查,我们终于发现,如果我们在加载某些资源时删除显示为初始屏幕的模式窗口,则会显示审核提示。
这似乎使 Storekit 的逻辑在可见窗口上显示提示被绊倒了。
更新
似乎罪魁祸首是这条特定的行:
window.windowLevel = modalWindow.windowLevel + 1
【讨论】:
以上是关于SKStoreReviewController requestReview 在 iOS 14 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
InAppReview : SKStoreReviewController 太慢了
隐藏在键盘下的 SKStoreReviewController 按钮
SKStoreReviewController 对撰写评论有帮助吗?
控制 SKStoreReviewController 显示频率
使用 SKStoreProductViewController 或 SKStoreReviewController 进行应用评分/评论?