"prefs:root=CASTLE" 无法在 IOS10 中打开 iCloud 设置?
"prefs:root=CASTLE" not working to open iCloud Settings in IOS10?
在我的应用程序中,我有一个警报视图,可以选择打开 IOS 设置应用程序的 iCloud 部分。这以前适用于 IOS8/9 (Swift 2):
let settingsCloudKitUrl = URL(string:"prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
UIApplication.sharedApplication().openURL(url)
}
在 IOS10 (Swift 3) 中它不再工作,因为 openURL() 已被弃用。我将代码更改为以下内容:
let settingsCloudKitUrl = URL(string:"prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
if #available(iOS 10, *) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
} else {
UIApplication.shared.openURL(url)
}
}
但是上面的代码不适用于 IOS10。 UIApplication.shared.canOpenURL(url) returns 错误。我需要更改什么才能在 IOS10 中再次运行?
对于 iOS 10 以后,将 prefs:root=CASTLE
更改为 App-Prefs:root=CASTLE
,这样就可以正常工作了
let settingsCloudKitUrl = URL(string:"App-Prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
if #available(iOS 10, *) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
} else {
UIApplication.shared.openURL(url)
}
}
在我的应用程序中,我有一个警报视图,可以选择打开 IOS 设置应用程序的 iCloud 部分。这以前适用于 IOS8/9 (Swift 2):
let settingsCloudKitUrl = URL(string:"prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
UIApplication.sharedApplication().openURL(url)
}
在 IOS10 (Swift 3) 中它不再工作,因为 openURL() 已被弃用。我将代码更改为以下内容:
let settingsCloudKitUrl = URL(string:"prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
if #available(iOS 10, *) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
} else {
UIApplication.shared.openURL(url)
}
}
但是上面的代码不适用于 IOS10。 UIApplication.shared.canOpenURL(url) returns 错误。我需要更改什么才能在 IOS10 中再次运行?
对于 iOS 10 以后,将 prefs:root=CASTLE
更改为 App-Prefs:root=CASTLE
,这样就可以正常工作了
let settingsCloudKitUrl = URL(string:"App-Prefs:root=CASTLE")
if let url = settingsCloudKitUrl {
if #available(iOS 10, *) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
} else {
UIApplication.shared.openURL(url)
}
}