app高大上的指纹识别登陆

iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用Touch ID非常简单,只需要2步即可:

  1. 检查Touch ID是否可用。
  2. 获得指纹验证结果。

首先需要添加LocalAuthentication.framework库,注意只有真机才有这个库,模拟器没有。

#import <LocalAuthentication/LocalAuthentication.h>

    LAContext *ctx = [[LAContext alloc] init];
    NSError *error = nil;
    NSString *myLocalizedReasonString = @"请输入指纹";
    // 判断设备是否支持指纹识别
    if ([ctx canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {
        NSLog(@"支持");
        //提示:指纹识别只是判断当前用户是否是手机的主人!
        [ctx evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocalizedReasonString reply:^(BOOL success, NSError *error) {
            error = error;
            NSLog(@"%d %@", success, error);
            if (success) {
                // 登录成功
                NSLog(@"登陆成功");
            }else{
            
                NSLog(@"%@",error.localizedDescription);
                switch (error.code) {
                    case LAErrorSystemCancel:
                    {
                        NSLog(@"Authentication was cancelled by the system");
                        //切换到其他APP,系统取消验证Touch ID
                        break;
                    }
                    case LAErrorUserCancel:
                    {
                        NSLog(@"Authentication was cancelled by the user");
                        //用户取消验证Touch ID
                        break;
                    }
                    case LAErrorUserFallback:
                    {
                        NSLog(@"User selected to enter custom password");
                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                            //用户选择输入密码,切换主线程处理
                        }];
                        break;
                    }
                    default:
                    {
                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
                            //其他情况,切换主线程处理
                        }];
                        break;
                    }
                }
            }
        }];
    } else {
        NSLog(@"不支持");
        //不支持指纹识别,LOG出错误详情
        
        switch (error.code) {
            case LAErrorTouchIDNotEnrolled:
            {
                NSLog(@"TouchID is not enrolled");
                break;
            }
            case LAErrorPasscodeNotSet:
            {
                NSLog(@"A passcode has not been set");
                break;
            }
            default:
            {
                NSLog(@"TouchID not available");
                break;
            }
        }
        
        NSLog(@"%@",error.localizedDescription);
    
    }

指纹识别登陆就是这么简单。虽然本人尚未在项目中使用这个功能,但是在我实际开发过程中遇到过机器注册大量刷单的情况,个人觉得在账号密码登录之后需要指纹识别登陆,能有效防止机器刷单。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,007评论 25 709
  • 简述: 在类似支付宝为首的应用以及各种理财等涉及钱财对安全性要求较高的应用中,目前普遍对关键数据都做了安全访问限制...
    C_HPY阅读 3,192评论 0 18
  • 近日,安徽省阜阳市葡实农业科技有限公司在观光采摘园内种植的十多个巨型大南瓜纷纷采摘,并准备来个集体亮相。这些巨型大...
    华人健康阅读 847评论 0 0
  • 何时能与你一起漫步在夕阳下 牵起你的手 何时能与你坐在窗旁 看着春夏秋冬 何日漫漫 心哀其伤
    小波波文阅读 202评论 0 2
  • 今天要做的。1,带妈去医院检查,2,拿眼镜,3,拿运动服,4,寄裤子回去换大码,5,给儿子买肥皂,给自己买洗面奶,...
    阿狸向前阅读 205评论 0 0

友情链接更多精彩内容