首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次都会弹出LAContext显示

每次都会弹出LAContext显示
EN

Stack Overflow用户
提问于 2016-06-17 15:31:44
回答 1查看 280关注 0票数 0
代码语言:javascript
复制
- (void)touchIdIntegration{
    LAContext *myContext = [[LAContext alloc] init];
    NSError *authError = nil;    
    if ([myContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) {

    [myContext evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
              localizedReason:@"Authenticate via Touch ID to unlock the app"
                        reply:^(BOOL success, NSError *error) {

                            if (success) {
                                dispatch_async(dispatch_get_main_queue(), ^{

                                    [[AppManager instance].helpManager setDontShowInterstialAd:TRUE];
                                    [[AppManager instance].cycleManager setUserAuthenticated:TRUE];
                                    [self.delegate showAlertViewsOnServerData];

                                });
                            } else {
                                dispatch_async(dispatch_get_main_queue(), ^{


                                    switch (error.code) {
                                        case kLAErrorAuthenticationFailed:
                                            NSLog(@"kLAErrorAuthenticationFailed");
                                            break;
                                        case kLAErrorTouchIDNotEnrolled:
                                            NSLog(@"kLAErrorTouchIDNotEnrolled");
                                            break;
                                        case LAErrorPasscodeNotSet:
                                            NSLog(@"LAError code ");
                                            break;
                                        default:
                                            break;
                                    }
                                });
                            }
                        }];
    } else {
    dispatch_async(dispatch_get_main_queue(), ^{
        self.m_imgFingerPrint.hidden = YES;
        NSLog(@"LAError code %ld",authError.code);
        NSString *alertMessage =nil;

        switch (authError.code) {
            case kLAErrorAuthenticationFailed:
            {
                alertMessage = @"kLAErrorAuthenticationFailed" ;

        }
                break;
            case kLAErrorTouchIDNotEnrolled:
                alertMessage = @"kLAErrorTouchIDNotEnrolled" ;
                break;
            case LAErrorPasscodeNotSet:
                alertMessage = @"LAErrorPasscodeNotSet" ;
                break;
            default:
                break;
        }
 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                    message:alertMessage
                                                                   delegate:self
                                                          cancelButtonTitle:@"OK"
                                                          otherButtonTitles:nil, nil];
                [alertView show];

    });
}
}

我不希望这个弹出每次当用户移动到这个screen.Is,这是可能的或不可能的?请让我知道。

请查看下面的屏幕截图:

无论如何,提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2016-06-17 17:04:50

不要写这个代码viewDidLoadviewDidAppear。仅当绝对需要请求touchID时才编写它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37875658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档