如何使用 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)
    }
}

参考: