【发布时间】:2018-03-29 08:12:31
【问题描述】:
调用SKStoreReviewController.requestReview()后,会弹出使用提示。
当用户点击任何选项时,我如何知道弹出窗口已关闭?
【问题讨论】:
标签: ios swift swift4 skstorereviewcontroller
调用SKStoreReviewController.requestReview()后,会弹出使用提示。
当用户点击任何选项时,我如何知道弹出窗口已关闭?
【问题讨论】:
标签: ios swift swift4 skstorereviewcontroller
不可能直接了解SKStoreReviewController的任何信息。
following post explains 详细了解视图的呈现方式,并可能帮助您理解原因。
但是,我不喜欢那个答案,所以我测试了您评论的一个变体,并且能够准确地确定屏幕何时关闭。
以下是一个非常简单的应用程序来说明这一点:
import UIKit
import StoreKit
class ViewController: UIViewController {
@IBOutlet weak var testView: TestView!
override func viewDidLoad() {
super.viewDidLoad()
testView.isUserInteractionEnabled = false
}
@IBAction func submit(_ sender: UIButton) {
testView.isUserInteractionEnabled = true
SKStoreReviewController.requestReview()
}
}
class TestView: UIView {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
print("touch")
}
}
这里发生的情况是,我的主屏幕上有一个视图,只有在显示提示后才能与之交互。您当然应该清理它,使其在第一次成功后停止接收输入,但这确实会通知我用户与应用程序的交互在请求被驳回后。
【讨论】: