美文网首页
iOS 指纹识别

iOS 指纹识别

作者: Poison_19ce | 来源:发表于2018-03-05 21:47 被阅读0次

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

    首先倒入头文件

    #import <LocalAuthentication/LocalAuthentication.h>

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

    #import <LocalAuthentication/LAContext.h>

    #import <LocalAuthentication/LAError.h>

    显而易见,指纹识别是操作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 指纹识别

          本文链接:https://www.haomeiwen.com/subject/ksdkfftx.html