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

标签 ios swift4 xcode9

我对 Swift 编程还很陌生 我制作了一个简单的测试应用程序,可以通过特定按钮以编程方式打开设置。

不幸的是,更新按钮后,没有打开所需的设置页面(在本例中为 wifi 页面),只打开了通用设置屏幕 有人可以帮助我了解 swift 4 中到底发生了什么变化,以便我修复此行为吗?非常感谢!

使用的第一个代码 -(我已经将可用的 iOS 更改为 iOS 11.0,以匹配部署)

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

编辑

不幸的是提出的问题与我的不同-我无法再打开设备的设置,另一个问题是如何直接打开APP的设置

最佳答案

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

如果你想打开应用偏好,你可以使用 UIApplicationOpenSettingsURLString

关于IOS 11/"Apps-prefs=root"功能在更新到 Swift 3 后不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46487364/

相关文章:

cocoa-touch - 文字输入ios问题

ios - 程序化 UIView 内的程序化 UIButton 无法正常工作

ios - 如何仅使用普通的 apple id 帐户签署 dylib? (还没有开发者账号)

ios - 登录按钮在 swift 3 中不起作用

ios - CATextLayer 渲染具有截断和段落样式的 AttributedString

xcode9 - High Sierra 更新导致 NSTableView 翻转和打乱

arrays - 警告 "Simultaneous accesses to parameter ' self' ..."真的适用于此吗?

ios - NSArray作为核心数据fetchRequest中的参数

ios - 在ContainerView中打开不同的 View

app-store-connect - iTunes 拒绝 tvOS 11 和 Xcode 9 中的 App Store 图标