无法使用 swift 在 iOS 11 中使用 URL 架构启动 Touch ID 和密码

Cannot Launch Touch ID & Passcode with URL Schema in iOS 11 using swift

我正在使用下面的代码使用 swift、

导航到 Touch ID and Passcode 部分
guard let profileUrl = URL(string : "App-Prefs:root=TOUCHID_PASSCODE") else {
            return
}

if UIApplication.shared.canOpenURL(profileUrl){
     if #available(iOS 10.0, *) {
                UIApplication.shared.open(profileUrl, options: [:], completionHandler: nil)
            } else {
                // Fallback on earlier versions
         }
 }

它与 iOS 10 一起正常工作。但现在不起作用。它仅导航到 Settings,而不导航到 Touch ID & Passcode 部分。任何原因。

Apple 已从“设置”应用中删除该功能。保持这些功能的唯一选择是继续使用 iOS 10.

从iOS11开始你只能调用主设置界面,

guard let profileUrl = URL(string : "App-Prefs:") else {
        return
}

应用被拒绝!

您的应用使用 "prefs:root=" 非 public URL 方案,这是一个私有实体。 App Store 不允许使用非 public API,因为如果这些 API 发生变化,可能会导致糟糕的用户体验。

具体来说,您的应用使用以下非 public URL 方案:

app-prefs:root=touchid_passcode

在以后提交此应用程序时继续使用或隐藏非public API 可能会导致您的 Apple 开发者帐户被终止,并从 App Store 中删除所有关联的应用程序。

后续步骤

要解决此问题,请修改您的应用以使用 public API 提供相关功能,或删除使用 "prefs:root" 或 "App-Prefs:root" URL 方案的功能。

如果没有其他方法可以提供您的应用所需的功能,您可以提交增强请求。