所以我们正在创建一个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)
}
}
此在iOS 9设备上运行得非常好,但在iOS 10上无法正常工作。问题在于,在iOS 10中,尽管应用程序将用户发送到设置应用程序,但它立即崩溃,没有任何崩溃日志。如果我使用相同的方法打开像谷歌这样的网站,则在iOS 9和10上都可以正常工作。我已经进行了大量的研究,发现他们已经改变了一些URL方案,但找不到任何修复/解决方法。