iOS LocalAuthentication指纹验证

作者: 门前有棵葡萄树 | 来源:发表于2017-02-24 16:33 被阅读755次

    简介

    需要导入头文件
    #import <LocalAuthentication/LocalAuthentication.h>
    该头文件内只导入了两个类
    LAContext LAError

    Paste_Image.png
    Local Authentication 框架提供了按照指定的安全策略请求用户授权(本地授权)的工具。例如, 通过 Touch ID 请求用户授权。

    1.LAContext 提供了用户授权的上下文。在该上下文中,你可以获取用户授权的相关信息。通常会基于用户的授权状态来进行相应的操作。
    2.LAError 错误信息

    typedef NS_ENUM(NSInteger, LAError)
    {
        //用户验证没有通过,比如提供了错误的手指的指纹
        LAErrorAuthenticationFailed = kLAErrorAuthenticationFailed,
    
        // 用户取消了Touch ID验证
        LAErrorUserCancel           = kLAErrorUserCancel,
    
        //用户不想进行Touch ID验证,想进行输入密码操作
        LAErrorUserFallback         = kLAErrorUserFallback,
    
        // 系统终止了验证
        LAErrorSystemCancel         = kLAErrorSystemCancel,
    
        // 用户没有在设备Settings中设定密码
        LAErrorPasscodeNotSet       = kLAErrorPasscodeNotSet,
    
        // 设备不支持Touch ID
        LAErrorTouchIDNotAvailable  = kLAErrorTouchIDNotAvailable,
    
        // 设备没有进行Touch ID 指纹注册
        LAErrorTouchIDNotEnrolled   = kLAErrorTouchIDNotEnrolled,
    } NS_ENUM_AVAILABLE(10_10, 8_0);
    

    使用

    //本地认证上下文联系对象
        LAContext * context = [[LAContext alloc] init];
        NSError * error = nil;
        //验证是否具有指纹认证功能,不建议使用版本判断方式实现
        BOOL canEvaluatePolicy = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
        if (error) {
            NSLog(@"%@", error.localizedDescription);
        }
        if (canEvaluatePolicy) {
            NSLog(@"有指纹认证功能");
            //匹配指纹
            [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证指纹已确认您的身份" reply:^(BOOL success, NSError *error) {
                if (success) {
                    NSLog(@"指纹验证成功");
                } else {
                    NSLog(@"验证失败");
                    NSLog(@"%@",error.localizedDescription);
                }
            }];
        } else {
            NSLog(@"无指纹认证功能");
        }
    

    相关文章

      网友评论

        本文标题:iOS LocalAuthentication指纹验证

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