iOS 指纹识别

iOS 8.0 & iPhone5s以后 苹果开发了touchID ,开发者能够使用指纹识别

首先倒入头文件

#import

点进去能看到两个头文件 分别是:

#import

#import

显而易见,指纹识别是操作LAContext,并且提供了一个LAError进行错误处理

LAContext :

两个枚举值 

LAPolicyDeviceOwnerAuthenticationWithBiometrics  //生物识别技术

LAPolicyDeviceOwnerAuthentication。                        //设备识别

第一个枚举值就是专门用来做指纹识别的

第二个同第一个有一点不一样的地方,就是,三次指纹错误后,自动弹出输入设备密码的界面,咱们主要讲第一个

除了两个枚举值,还有两个方法

//判断是否能够进行指纹识别

- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error 

//进行指纹识别

- (void)evaluatePolicy:(LAPolicy)policy//要进行什么类型的指纹识别一般选择生物指纹识别

      localizedReason:(NSString *)localizedReason //识别指纹要展示的文字,比如 指纹支付

                reply:(void(^)(BOOL success, NSError * __nullable error))reply; //回调的block

如果指纹验证成功,success就会返回YES,失败则返回NO

不过需要注意,如果我们在验证指纹的过程中点击输入密码,则直接返回error,这个时候我们就需要对error进行处理

LAError:

LAErrorAuthenticationFailed, // 验证信息出错,指纹信息不对

 LAErrorUserCancel // 用户手动取消了验证 

 LAErrorUserFallback // 用户点击了手动输入密码的按钮,所以被取消了

 LAErrorSystemCancel // 被系统取消,就是说你现在进入别的应用了,不在刚刚那个页面,所以没法验证 

 LAErrorPasscodeNotSet // 用户没有设置密码,所以无法启动指纹验证

TouchID LAErrorTouchIDNotAvailable // 用户设备不支持TouchID 也就是iPhone5s之前的设备不支持

 LAErrorTouchIDNotEnrolled // 用户没有设置手指指纹 

 LAErrorTouchIDLockout // 用户错误次数太多,设备被锁住多少分钟

 LAErrorAppCancel // 用户不可抗力的因素导致app挂起,比如电话

 LAErrorInvalidContext // 请求验证出错

你可能感兴趣的:(iOS 指纹识别)