美文网首页
iOS开发之指纹识别和面容识别应用

iOS开发之指纹识别和面容识别应用

作者: OwenKing | 来源:发表于2019-07-22 11:04 被阅读0次

    因为项目中有使用支付功能,现在需要加入密码支付。然后产品就想要加入指纹识别和面容识别来进行支付认证。就在网上找了资料来总结。

    首先我们需要加入依赖库#import<LocalAuthentication/LocalAuthentication.h>

    然后我们要判断一下手机系统,因为iOS8以后才有了指纹识别。不过像我们应用我设置了iOS9以后才能下载,就自然过滤了一些机型系统。然后直接上代码

    // 判断设备是否支持指纹识别

        LAContext *context = [[LAContext alloc] init];

        NSError*error =nil;

        if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]) {

            //支持 localizedReason为alert弹框的message内容

            [contextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"请验证已有指纹" reply:^(BOOL success, NSError * _Nullable error) {

                if(success) {

                    NSLog(@"验证通过");

                }else{

                    NSLog(@"验证失败:%@",error.description);

                    switch(error.code) {

                        caseLAErrorSystemCancel:

                        {

                            NSLog(@"系统取消授权,如其他APP切入");

                            //系统取消授权,如其他APP切入

                            break;

                        }

                        caseLAErrorUserCancel:

                        {

                            //用户取消验证Touch ID

                            NSLog(@"用户取消验证Touch ID");

                            break;

                        }

                        case LAErrorAuthenticationFailed:

                        {

                            //授权失败

                            NSLog(@"授权失败");

                            break;

                        }

                        caseLAErrorPasscodeNotSet:

                        {

                            //系统未设置密码

                            NSLog(@"系统未设置密码");

                            break;

                        }

                        case LAErrorBiometryNotAvailable:

                        {

                            //设备Touch ID不可用,例如未打开

                            NSLog(@"设备Touch ID不可用,例如未打开");

                            break;

                        }

                        case LAErrorBiometryNotEnrolled:

                        {

                            //设备Touch ID不可用,用户未录入

                            NSLog(@"设备Touch ID不可用,用户未录入");

                            break;

                        }

                        caseLAErrorUserFallback:

                        {

                            [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                                //用户选择输入密码,切换主线程处理

                                NSLog(@"用户选择输入密码,切换主线程处理");

                            }];

                            break;

                        }

                        default:

                        {

                            [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                                //其他情况,切换主线程处理

                                NSLog(@"其他情况,切换主线程处理");

                            }];

                            break;

                        }

                    }

                }

            }];

        }else{

            NSLog(@"不支持指纹识别");

            NSLog(@"error : %@",error.localizedDescription);

        }

    这里面就直接筛选了用户在识别中的一系列问题,识别错误次数,取消识别,改密码识别等等。

    相关文章

      网友评论

          本文标题:iOS开发之指纹识别和面容识别应用

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