我尝试在viewDidLoad()中运行以下代码,如果我从Xcode构建并运行它,该应用程序可以正确显示评级提示,但如果我在iPhone上手动运行该应用程序,那么评级提示就不显示了。这是为什么?
我的系统是:iOS 14.4.1,Xcode 12.4
if #available(iOS 14.0, *) {
if let scene = UIApplication.shared.connectedScenes.first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
}
} else if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
}
另外,如果我只是将这行代码放在viewDidLoad()中,那么我就没有这个问题:
SKStoreReviewController.RequestReview()
也许你错过了什么。根据苹果的文档,SKStoreReviewController
每年只会显示几次。
使用SKStoreReviewController向用户提供App Store评论请求是获取应用程序反馈的好方法。但是,您应该注意,在365天内,该提示最多只能向用户显示三次。选择何时何地显示此提示对于成功使用此API至关重要。