iOS 使用touchID和FaceID操作

 

//判断版本

    if (NSFoundationVersionNumber < NSFoundationVersionNumber_iOS_8_0) {

        NSLog(@"系统不支持TouchID");

    }

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

    // 这个属性是设置指纹输入失败之后的弹出框的选项

    context.localizedFallbackTitle = @"忘记密码";

    NSString *myLocalizedFallbackTitle = @"请按住Home键完成验证";

    

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

       [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:myLocalizedFallbackTitle reply:^(BOOL success, NSError * _Nullable error) {

           if (success) {

               NSLog(@"识别成功的操作");

           }else{

               switch (error.code) {

                   case LAErrorAuthenticationFailed:

                       NSLog(@"授权失败");

                       break;

                   case LAErrorUserCancel:

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

                       break;

                   case LAErrorUserFallback:

                       [[NSOperationQueue mainQueue] addOperationWithBlock:^{

                           NSLog(@"用户选择输入密码,切换主线程处理"); // -3 在TouchID对话框中点击了输入密码按钮

                       }];

                       break;

                   case LAErrorSystemCancel:

                       NSLog(@"取消授权,如其他应用切入,用户自主");

                       break;

                   case LAErrorPasscodeNotSet:

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

                       break;

                   case kLAErrorTouchIDNotAvailable:

                       NSLog(@"设备未设置Touch ID");

                       break;

                   case LAErrorTouchIDNotEnrolled:

                       NSLog(@"用户未录入指纹");

                       break;

                   case LAErrorTouchIDLockout:

                       NSLog(@"Touch ID被锁,需要用户输入密码解锁");

                       break;

                   case LAErrorAppCancel:

                       NSLog(@"用户不能控制情况下APP被挂起");

                       break;

                   case LAErrorInvalidContext:

                       NSLog(@"LAContext传递给这个调用之前已经失效");

                       break;

                   default:

                       break;

               }

           }

       }];

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值