我有一个应用程序,几天以来我一直在 iOS 10.3 上进行测试,它运行良好。我最近在 iOS 12 设备上对其进行了测试,但它没有按预期工作。该应用程序无法连接到我的服务器。
经调查,我发现我的应用程序在Settings -> AppName中的“移动数据”开关已关闭。打开后,它开始完美运行。
那么,在这种情况下,有没有办法可以从我的代码中确定此开关的状态?如果我可以知道状态并且它处于关闭状态,我可以使用以下方法将用户重定向到应用程序设置:
let urlObj = NSURL.init(string:UIApplicationOpenSettingsURLString)
if #available(iOS 10.0, *) {
UIApplication.shared.open(urlObj as! URL, options: [ : ], completionHandler: { Success in
})
} else {
let success = UIApplication.shared.openURL(url as URL)
print("Open \(url): \(success)")
}
PS:我不是在寻找使用可达性的解决方案,因为它并不完全可靠。