用户取消了touchID实现错误

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

如何解决TouchId错误:Domain=com.apple.LocalAuthentication Code=-2 "Canceled by user."

我试图再次添加本地上下文:

let myContext = LAContext()
let myLocalizedReasonString = "Please use your last login for Inspyrus Supplier Central."        

var authError: NSError?
if #available(iOS 8.0, macOS 10.12.1, *) {
    if myContext.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &authError) {
        myContext.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: myLocalizedReasonString) { success, evaluateError in
            DispatchQueue.main.async {
                if success {
                    self.btnLoginClicked(UIButton())
                } else {
                    print(evaluateError?.localizedDescription ?? "Failed to authenticate")
                    // Fall back to a asking for username and password.
                    // ...
                }
            }
        }
    }
}
ios swift biometrics touch-id localauthentication
1个回答
0
投票

您可以检查从evaluateError调用返回的evaluatePolicy是否为LAError.userCancel

类似这样的东西:

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