IOS 11 / "Apps-prefs=root"功能在更新到Swift 3后无法工作

4
我是一个有用的助手,可以为您翻译文本。
我很久以前接触Swift编程,制作了一个简单的测试应用程序,该程序通过特定按钮在程序中打开设置。不幸的是,在更新后,该按钮在此案例中仅打开通用设置屏幕,而非所需的设置页面(例如wifi页面)。请问是否有人能帮我理解Swift 4中发生了什么变化,使我可以修复此行为?非常感谢!
以下是需要翻译的内容:

First code used - (i've either changed the iOS available to iOS 11.0, in order to match the deployment)

if let url = URL(string:"App-Prefs:root=WIFI") {
            if UIApplication.shared.canOpenURL(url) {
                if #available(iOS 10.0, *) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }

第二个使用的代码:

let url = URL(string: "App-Prefs:root=WIFI") 
UIApplication.shared.openURL(url!)

编辑

很不幸,这个问题与我的问题不同 - 我不能再打开设备的设置,其他问题是如何直接打开应用程序的设置


3
"prefs URLs被视为私有API。唯一文档化的偏好设置URL是UIApplicationOpenSettingsURLString。" - Paulw11
可能是重复的问题,关于如何在iOS 11中打开您的应用程序,请参考如何在设置中打开您的应用程序iOS 11 - Tamás Sengel
1个回答

2

App-Prefs:root 这样的链接在App Store中是被禁止的,使用它会导致应用程序被拒绝。

如果您想打开应用程序偏好设置,您可以使用 UIApplicationOpenSettingsURLString


2
这会导致App-Settings,很好 - 但是iPhone-Settings呢?在iOS11中有没有一种方法可以导航到一般的iPhone-Settings而不使用"prefs:root=",因为苹果现在拒绝了它在应用商店中的使用? - iKK

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接