美文网首页
FaceID人脸识别TouchID指纹识别iOS使用

FaceID人脸识别TouchID指纹识别iOS使用

作者: 守护浪漫的小香樟 | 来源:发表于2022-09-04 16:17 被阅读0次

这都2022年了还有小伙伴不会人脸识别指纹识别?

今天在交流群有人问起来说不会用, 那就补充一下给更多的小伙伴提供方便吧

先看效果

识别-成功-提示(刷新数据)

具体步骤如下:

1、进入页面开始识别

2、在回调中获取识别结果

3、根据结果刷新数据

识别实现代码:

-(void)faceID:(SuccessFace)successBlockfail:(FaildFace)failBlock{

    //创建LAContext

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

    //这个属性是设置生物验证失败之后的弹出框的选项

    context.localizedFallbackTitle = @"使用账号密码登陆";

    //错误信息

    NSError*error =nil;

    //判断设备是否支持Face ID或Touch ID

    BOOL isUseFaceOrTouchID = [context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];

    if(isUseFaceOrTouchID) {

        //这个是用来验证TouchID的,会有弹出框出来

        //字符串参数为验证失败时提示语

        [contextevaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"验证失败!或许你...不是本人?" reply:^(BOOL success, NSError * _Nullable error) {

            if(success) {

                dispatch_async(dispatch_get_main_queue(), ^{

                    NSLog(@"验证成功");

                    NSMutableDictionary * dic = [NSMutableDictionary dictionary];

                    [dicsetObject:@"验证成功"forKey:@"msg"];

                    successBlock(dic);

                });

            }else{

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

                NSMutableDictionary * dic = [NSMutableDictionary dictionary];

                [dicsetObject:@"验证失败"forKey:@"msg"];

                failBlock(dic);

                switch(error.code) {

                    caseLAErrorSystemCancel: {

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

                        break;

                    }

                    caseLAErrorUserCancel: {

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

                        break;

                    }

                    case LAErrorAuthenticationFailed: {

                        NSLog(@"授权失败");

                        break;

                    }

                    caseLAErrorPasscodeNotSet: {

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

                        break;

                    }

                    case LAErrorBiometryNotAvailable: {

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

                        break;

                    }

                    case LAErrorBiometryNotEnrolled: {

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

                        break;

                    }

                    caseLAErrorUserFallback: {

                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{

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

                        }];

                        break;

                    }

                    default: {

                        [[NSOperationQueue mainQueue] addOperationWithBlock:^{

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

                        }];

                        break;

                    }

                }

            }

        }];

    }else{

        NSLog(@"不支持Face ID或Touch ID");

        NSMutableDictionary * dic = [NSMutableDictionary dictionary];

        [dicsetObject:@"不支持Face ID或Touch ID" forKey:@"msg"];

        failBlock(dic);

        switch(error.code) {

            case LAErrorBiometryNotEnrolled: {

                NSLog(@"Face ID未注册");

                break;

            }

            case LAErrorPasscodeNotSet: {

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

                break;

            }

            default: {

                NSLog(@"Face ID不可用");

                break;

            }

        }

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

    }

}

刷新状态:

相关文章

  • 人脸识别简介

    随着Iphone X发布,革命性的取消了TouchID(指纹识别),而添加了更酷的 FaceID(人脸识别) 模块...

  • FaceID人脸识别TouchID指纹识别iOS使用

    这都2022年了还有小伙伴不会人脸识别指纹识别? 今天在交流群有人问起来说不会用, 那就补充一下给更多的小伙伴提供...

  • Swift面容指纹识别LAManager

    前言 指纹识别(TouchID),面容识别(FaceID)在iPhone中是频繁使用的,随时随地都在关闭手机,解锁...

  • 生物识别

    iOS FaceID & TouchID

  • iOS FaceID & TouchID

    iOS FaceID & TouchID API文档 System/LocalAuthentication Fac...

  • iOS 指纹识别

    iOS 8.0 & iPhone5s以后 苹果开发了touchID ,开发者能够使用指纹识别 首先倒入头文件 #i...

  • iOS 8 SDK添加Touch ID指纹识别功能

    iOS 8 SDK向开发者公开了Touch ID指纹识别功能,允许App对用户身份进行本地验证。使用TouchID...

  • iOS TouchID 和 FaceID 的使用 - 登录

    前提: 首先TouchID 支持 iOS 8.0+; FaceID 支持 iOS 11.0+; 开启权限: 调用F...

  • iOS 指纹(TouchID)集成方案

    TouchID指纹识别是系统iOS 8.0之后的设备中增加的一项重大功能,在实际使用中还是相当方便的,比如快捷登录...

  • iOS指纹识别(TouchID)

    分享是每个优秀的程序员所必备的品质 越来越多的设备开始支持指纹识别,因为它更安全,更简单,这一定是个趋势。废话少说...

网友评论

      本文标题:FaceID人脸识别TouchID指纹识别iOS使用

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