无法启动Touch ID&使用swift在iOS 11中使用URL Schema进行密码验证

时间:2017-12-11 09:53:59

标签: ios swift ios11 url-scheme touch-id

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:1)

应用被拒绝!

您的应用程序使用“ prefs:root =“非公开URL方案,这是一个私有实体。在App Store上不允许使用非公共API,因为如果这些API发生更改,可能会导致不良的用户体验。

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

app-prefs:root = touchid_passcode

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

后续步骤

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

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