ios - SKStoreReviewController.requestReview() 在没有蜂窝服务时冻结应用程序,即使在后台线程上运行也是如此
问题描述
我在下面包含了我的代码。如果没有 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")
}
}
解决方案
推荐阅读
- php - 根据 Woocommerce 中的付款类型将新订单电子邮件发送到其他电子邮件
- android - Android 原生 - jni 编写的原生代码如何在 root 权限下运行?
- angular - ng 添加 @angular/pwa 时出错
- c# - 使用二维数据和 MVVM 绑定到 DataGrid
- python - 与 tensorflow-gpu 1.4 一起使用的 keras 版本
- c# - 如何在 ASP.NET Core 集成测试中覆盖来自其他容器的 DI 注册
- ios - Swift - CollectionViewCell 边框错误或不完整
- azure-devops - VSTS Windows 机器文件复制 robocopy 未找到
- sql - 如何获取列值的总和作为 SQL 结果集中的新列
- javascript - 如何更改猫头鹰轮播中的视频背景图像?