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

问题描述 投票:1回答:2

我正在使用下面的代码使用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部分。任何原因。

ios swift ios11 url-scheme touch-id
2个回答
3
投票

Apple已从“设置”应用中删除了该功能。保持这些功能的唯一选择是保留在iOS 10上。

从iOS 11开始,您只能调用主设置屏幕,

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

1
投票

应用被拒绝!

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

具体而言,您的应用使用以下非公共URL方案:

APP-首选项:根= touchid_passcode

在将来提交此应用程序时继续使用或隐藏非公共API可能会导致Apple Developer帐户被终止,以及从App Store中删除所有相关应用程序。

下一步

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

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

© www.soinside.com 2019 - 2024. All rights reserved.