iPhone指纹/密码鉴定
一、两种鉴定方式
LAPolicyDeviceOwnerAuthenticationWithBiometrics :
生物指纹识别。验证弹框有两个按钮,第一个是取消按钮,第二个按钮可以自定义标题名称(输入密码)。只有在第一次指纹验证失败后才会出现第二个按钮,这种鉴定方式的第二个按钮的功能自定义。前三次指纹验证失败,指纹验证框不再弹出。再次重新进入验证,还有两次验证机会,如果还是验证失败,TOUCH ID 被锁住不再继续弹出指纹验证框。以后的每次验证都将会弹出设备密码输入框直至输入正确的设备密码方可解除TOUCH ID锁。
LAPolicyDeviceOwnerAuthentication:
生物指纹识别或系统密码验证。如果TOUCH ID 可用,且已经录入指纹,则优先调用指纹验证。其次是调用系统密码验证,如果没有开启设备密码,则不可以使用这种验证方式。指纹识别验证失败三次将弹出设备密码输入框,如果不进行密码输入。再次进来还可以有两次机会验证指纹,如果都失败则TOUCH ID被锁住,以后每次进来验证都是调用系统的设备密码直至输入正确的设备密码方可解除TOUCH ID锁。
二、鉴权错误信息类型
1. 验证(指纹/密码)不能开启的错误信息:
- LAErrorPasscodeNotSet : 设备密码未设置
- LAErrorTouchIDNotAvailable : TOUCH ID不可用
- LAErrorTouchIDNotEnrolled : 指纹未录入
- LAErrorTouchIDLockout : TOUCH ID被锁定
- LAErrorAppCancel : APP调用了
- (void)invalidate
方法使LAContext
失效 - LAErrorInvalidContext : 实例化的
LAContext
对象失效,再次调用evaluation...
方法则会弹出此错误信息
2. 其他错误信息:
- LAErrorAuthenticationFailed : 鉴定失败
- LAErrorUserCancel : 用户取消
- LAErrorUserFallback : 用户选择输入密码
- LAErrorSystemCancel : 系统取消(如:另外一个应用进入前台)
三、Show code
1 | - (void)authentication |
第一次进来验证,第二行的文字 需要您的指纹进行支付 可以自定,此时第二个按钮隐藏,第一次验证失败后才显示。
第一次指纹验证失败,第二个按钮(标题自定义,默认为:输入密码)显示出来,第一种验证方式的此按钮功能自定,第二种验证方式的此按钮点击会调用设备密码输入框。
设备密码输入框