URL 方案 "prefs:root=PASS" iOS10

URL scheme "prefs:root=PASS" iOS10

我知道有很多关于这个问题的话题,但是有解决方案吗?我还没有找到官方文档。

我的问题是我需要像这样在存储设置上重定向我的代码:(在 iOS 9 中工作)

 let settingsUrl = NSURL(string: "prefs:root=CASTLE&path=STORAGE_AND_BACKUP")
       if let url = settingsUrl {
           UIApplication.shared.openURL(url as URL)
        }

但是由于ios10这种方法行不通,所以有没有替代方法?我看到 SnapChat,Google Maps 将他们的应用程序重定向到设置的不同部分(不是设置的主屏幕)所以我认为有一个解决方案。

我已经在 info.plist 中实现了 url 方案,但它仍然不起作用

我试过这个方法,但也有同样的问题

let settingsUrl = NSURL(string: "prefs:root=CASTLE&path=STORAGE_AND_BACKUP")
        if let url = settingsUrl {
            if #available(iOS 10.0, *) {
                UIApplication.shared.open(URL.init(string:"Prefs:root=General&path=STORAGE_ICLOUD_USAGE/DEVICE_STORAGE")!, options: [UIApplicationOpenURLOptionUniversalLinksOnly:true], completionHandler:{(success: Bool?) -> Void in})

            } else {
                 UIApplication.shared.openURL(url as URL)
            }
        }

提前致谢。

自 iOS 10 起,无法从第三方应用程序打开 Settings 应用程序。唯一允许打开的设置是键盘设置,但只能通过自定义键盘扩展和您自己的应用程序设置打开。 更多详情:here

注意: 即使对于iOS 9,使用问题中提到的URL字符串也可能导致应用被拒绝,因为它违反了iOS App Review Guidelines.