【问题标题】:IOS 11 / "Apps-prefs=root" function not working after update to Swift 3IOS 11 /“Apps-prefs=root”功能在更新到 Swift 3 后不起作用
【发布时间】:2023-12-25 22:00:01
【问题描述】:

我对 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的设置

【问题讨论】:

标签: ios swift4 xcode9


【解决方案1】:

App-Prefs:root 之类的网址在 App Store 中被禁止使用,并且使用它会导致应用被拒绝。

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

【讨论】:

  • 这会导致 App-Settings,很好 - 但是 iPhone-Settings 呢? iOS11 中有没有一种方法可以导航到一般的 iPhone 设置而不使用 Apple 现在拒绝从 App Store 中使用的“prefs:root=”???
最近更新 更多