gpt4 book ai didi

ios - Swift:获取移动数据权限状态

转载 作者:行者123 更新时间:2023-11-28 07:28:31 28 4
gpt4 key购买 nike

我有一个应用程序,几天前我就在 iOS 10.3 上测试它,它运行良好。我最近在 iOS 12 设备上对其进行了测试,但没有按预期工作。该应用程序无法连接到我的服务器。

经调查,我发现在设置 -> 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)")
}

P.S:我不是在寻找使用 Reachability 的解决方案,因为它并不完全可靠。

最佳答案

无法在最新的 iOS 版本中检查此设置。你有两种选择来处理这个问题:首先你检查设备是否没有连接到 WiFi,也没有处于飞行模式。如果无法访问服务器,则可以安全地假设数据已被禁用。

第二个选项只是向用户显示应用程序无法访问服务器的错误,并相应地更改应用程序中的 UI/通知,以处理无法访问网络连接的任何情况。

CTCellularData 是一个潜在的选择,但是从 iOS 11 开始,检查状态的频率有所下降。

关于ios - Swift:获取移动数据权限状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55713344/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com