Ios 知道SKStoreReviewController何时被解雇

Ios 知道SKStoreReviewController何时被解雇,ios,swift,swift4,skstorereviewcontroller,Ios,Swift,Swift4,Skstorereviewcontroller,调用SKStoreReviewController.requestReview()后,将显示一个弹出窗口 当用户点击任何选项时,我如何知道弹出窗口被关闭?无法直接找到有关SKStoreReviewController的任何信息 更多关于视图如何呈现的信息&可能有助于您理解原因 然而,我不喜欢这个答案,所以我测试了你评论的一个变体,并能够确定屏幕被关闭的确切时间 下面是一个非常简单的应用程序,说明了这一点: import UIKit import StoreKit class ViewContr

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


当用户点击任何选项时,我如何知道弹出窗口被关闭?

无法直接找到有关
SKStoreReviewController的任何信息

更多关于视图如何呈现的信息&可能有助于您理解原因

然而,我不喜欢这个答案,所以我测试了你评论的一个变体,并能够确定屏幕被关闭的确切时间

下面是一个非常简单的应用程序,说明了这一点:

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")
    }
}
导入UIKit
进口存储套件
类ViewController:UIViewController{
@ibvar弱测试视图:测试视图!
重写func viewDidLoad(){
super.viewDidLoad()
testView.isUserInteractionEnabled=false
}
@iAction func提交(uSender:ui按钮){
testView.isUserInteractionEnabled=true
SKStoreReviewController.requestReview()
}
}
类TestView:UIView{
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
super.touchesbeated(touches,with:event)
打印(“触摸”)
}
}

这里的情况是,我在主屏幕上有一个视图,只有在显示提示后才能与之交互。当然,您应该清理它,使它在第一次成功后停止接收输入,但在请求被驳回后,这确实会通知我用户与应用程序的交互。
那么我该如何在该控制器的背景中添加模糊图像呢?@RodrigoRuiz假设您事先知道它将在何时显示,您可以在显示前模糊屏幕。完成后,您可以查看用户与屏幕的交互,以消除模糊。这可能是推断屏幕已被关闭的一种方法。@RodrigoRuiz更新了我的答案,现在应该涵盖您的问题。我想,问题是,它只会在用户关闭弹出窗口后再次交互后发生,这意味着我无法删除模糊(例如)就在商店弹出窗口关闭之后,甚至在他再次触摸屏幕之前。