URL scheme “prefs:root=PASS” iOS10

六月ゝ 毕业季﹏ 提交于 2019-12-13 10:29:59

问题


I know there are lot of topics about this problem but is there a solution? I have not found official documentation for that.

My problem is I need to redirect my code on storage settings like this : (work in iOS 9)

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

But since ios10 this method don't work, so Is there an alternative? I saw SnapChat, Google Maps redirect their apps to different part on settings (not the main screen of settings) so I think there is a solution.

I already implement the url scheme in info.plist but it's still not work

I tried this method but same issue too

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)
            }
        }

Thank in advance.


回答1:


Since iOS 10, it's not possible to open the Settings app from a third party app. The only settings that are allowed to be opened are Keyboard setting but only by a custom keyboard extension and your own application settings. More details: here

Note: Even for iOS 9, using the URL string that is mentioned in the question can lead to app rejection as it violates iOS App Review Guidelines.



来源:https://stackoverflow.com/questions/41161455/url-scheme-prefsroot-pass-ios10

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!