知道什么时候SKStoreReviewController被解雇了

时间:2017-10-17 15:11:48

标签: ios swift swift4 skstorereviewcontroller

调用SKStoreReviewController.requestReview()后,将显示弹出窗口。

当用户点击任何选项时,我怎么知道弹出窗口已被解除?

1 个答案:

答案 0 :(得分:2)

无法直接找到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")
    }
}

这里发生的是我在主屏幕上有一个只能在显示提示后才能与之交互的视图。您当然应该清理它,以便它在第一次成功后停止接收输入,但这确实通知我用户与应用之后的交互请求被解除。