无法在IOS FaceID中获得LAErrorAuthenticationFailed的错误代码

问题描述 投票:1回答:1

我正在尝试创建具有Face ID功能的应用。但是,当我尝试处理错误代码时,我只能捕获LAErrorUserCancel。我无法捕获其他错误代码,例如LAErrorAuthenticationFailed。

        [context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"asd"   reply:
         ^(BOOL success, NSError *authenticationError) {

             if (success) {
                 [[NSOperationQueue mainQueue] addOperationWithBlock:^(void){
                     [NSTimer scheduledTimerWithTimeInterval:1/40
                                                      target:self
                                                    selector:@selector(registerTouchID)
                                                    userInfo:nil
                                                     repeats:NO];
                 }];
             }
             else {
                 switch (authenticationError.code) {
                     case LAErrorAuthenticationFailed:
                         dispatch_async(dispatch_get_main_queue(), ^{
                            [self TouchFail];
                         });
                         break;

                     case LAErrorUserCancel:
                         NSLog(@"User pressed Cancel button");
                         break;

                     case LAErrorUserFallback:
                         NSLog(@"User pressed \"Enter Password\"");
                         break;

                     case LAErrorBiometryLockout:
                         dispatch_async(dispatch_get_main_queue(), ^{
                             [self LockoutAlert];
                         });
                         break;
                     default:
                         break;
                 }
             }
         }];
ios face-id localauthentication lacontext
1个回答
0
投票

您可以通过错误获得错误代码。 _code = -6或-4这样...

只需在日志中使用PO语句即可获取错误并进行相应处理。

© www.soinside.com 2019 - 2024. All rights reserved.