如何使用 Swift (iOS 11) 打开应用的设置(在“设置”应用内)?
How to open your app's settings (inside the Settings app) with Swift (iOS 11)?
我想在 iOS 11 中使用 Swift 4 在“设置”应用程序中打开我的应用程序的设置页面。如图所示:
以下代码不起作用,只会打开“设置”应用:
if let url = URL(string:UIApplicationOpenSettingsURLString) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
上图中的应用程序可以做到这一点。所以我想知道是否有任何方法可以自定义 URL 方案来实现它?
糟糕,它似乎适用于 iOS 11.4.1:
if let url = URL(string:UIApplicationOpenSettingsURLString) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
只是更新,因为 UIApplicationOpenSettingsURLString 已更改。
guard let url = URL(string: UIApplication.openSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
您可以使用它的包 ID 打开您的应用程序设置屏幕,例如,对于 CAMERA 权限,您可以使用
if let bundleId = /* your app's bundle identifier */
let url = URL(string: "\(UIApplication.openSettingsURLString)&path=CAMERA/\(bundleId)"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
参考:
我想在 iOS 11 中使用 Swift 4 在“设置”应用程序中打开我的应用程序的设置页面。如图所示:
以下代码不起作用,只会打开“设置”应用:
if let url = URL(string:UIApplicationOpenSettingsURLString) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
上图中的应用程序可以做到这一点。所以我想知道是否有任何方法可以自定义 URL 方案来实现它?
糟糕,它似乎适用于 iOS 11.4.1:
if let url = URL(string:UIApplicationOpenSettingsURLString) {
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
只是更新,因为 UIApplicationOpenSettingsURLString 已更改。
guard let url = URL(string: UIApplication.openSettingsURLString) else {
return
}
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
您可以使用它的包 ID 打开您的应用程序设置屏幕,例如,对于 CAMERA 权限,您可以使用
if let bundleId = /* your app's bundle identifier */
let url = URL(string: "\(UIApplication.openSettingsURLString)&path=CAMERA/\(bundleId)"),
UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
参考: