没有蜂窝服务时,即使在后台线程上运行,SKStoreReviewController.requestReview()也会冻结应用程序

时间:2019-02-03 16:00:08

标签: ios swift xcode reachability skstorereviewcontroller

我在下面包含了我的代码。如果没有wifi且没有蜂窝服务,则该应用程序将冻结。如果我完全关闭了蜂窝电话,它会显示“不可达”,这是预期的,并且该应用程序可以正常工作。但是,如果没有服务并且蜂窝电话处于打开状态(例如,在地铁中),则它表示“可以通过蜂窝电话到达” ”,并且我无法与该应用进行交互。即使该代码位于后台线程中,它也只是冻结了。

 let reachability = Reachability()

@IBAction func rateButtonAction(_ sender: Any) {
    if #available(iOS 10.3, *) {


        DispatchQueue.global(qos: .background).async {
                if self.reachability?.connection == .wifi {
                    print("Reachable via WiFi")
                    SKStoreReviewController.requestReview()
                } else if self.reachability?.connection == .cellular {
                    print("Reachable via Cellular")
                    SKStoreReviewController.requestReview()
                } else if self.reachability?.connection == .none {
                    print("Not reachable")
                } else {
                    print("Not reachable")
                }
            }
    } else {
        print("Rate didn't work")
    }
}

0 个答案:

没有答案