只能使用TouchID吗?

时间:2018-12-04 00:08:48

标签: ios swift touch-id lacontext

我正在为应用程序添加生物识别,但我只想使用Touch ID,我要使用Face IS。

有可能吗?还是使用canEvaluatePolicy我必须同时使用两者?

我正在使用此代码,但看不到一种实现方法。

context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Logging in with Touch ID", reply: { (success : Bool, error : NSError? ) -> Void in
        dispatch_async(dispatch_get_main_queue(), {

        if success {
            let alert = UIAlertController(title: "Success", message: "", cancelButtonTitle: "Great!")
            self.presentViewController(alert, animated: true, completion: nil)
        }

        if let error = error {
            var message :String

            switch(error.code) {
            case LAError..AuthenticationFailed:
                message = "There was a problem verifying your identity."
            case LAError..UserCancel:
                message = "You pressed cancel."
            case LAError..UserFallback:
                message = "You pressed password."
            default:
                message = "Touch ID may not be configured"
            }

            let alert = UIAlertController(title: "Error", message: message, cancelButtonTitle: "Darn!")
            self.presentViewController(alert, animated: true, completion: nil)
        }

        context = LAContext()
    })
})

1 个答案:

答案 0 :(得分:0)

我有同样的问题,但是当您实现代码以通过生物识别进行身份验证时。它是触摸ID或面部ID,因此您无需担心要使用哪个ID。因此,您的代码应能够很好地与触摸ID配合使用,例如在iPhone 6上以及在具有面部ID的iPhone X上均可使用。我希望这能回答您的问题。