我正在尝试在应用程序中实现一项功能,该功能在互联网连接不可用时显示警报.警报有两个操作(确定和设置),每当用户点击设置时,我想以编程方式将它们带到手机设置.
我正在使用Swift和Xcode.
我知道这个问题已被问过很多次了.答案说这在Xcode> 5.x中不可用.但我看到一些可以使用它的应用程序(转到设置)(iOS7).有没有办法做到这一点?它在Xcode 6中可用吗?Facebook 可以检测蜂窝数据和WiFi.


因此,我们正在创建一个iOS应用程序,只需按一下按钮即可打开设备的设置应用程序.我已经看到iOS 10和Swift 3的方法略有改变,所以我在执行代码之前使用条件来检查用户所在的iOS版本.
if let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) {
if #available(iOS 10.0, *) {
// iOS 10.0.
UIApplication.shared.open(settingsUrl, options: [:], completionHandler: nil)
} else {
// Fallback on earlier versions.
UIApplication.shared.openURL(settingsUrl)
}
}
Run Code Online (Sandbox Code Playgroud)
这在iOS 9设备上完全正常,但在iOS 10设备上则不行.问题是,虽然应用程序将用户发送到iOS 10中的设置应用程序,但它会立即崩溃,没有崩溃日志.如果我使用相同的方法打开像谷歌这样的网站,它在iOS 9和10上都运行得很好.我做了很多研究,看来他们用URL方案改变了一些东西,但找不到任何东西.修复/解决方法.