【问题标题】:Cancel LAContext Evaluation in Objective C取消目标 C 中的 LAContext 评估
【发布时间】:2016-06-19 16:04:12
【问题描述】:


我正在尝试在目标 C 中为 iphone 编写代码,基本上我正在尝试将触摸 id 传感器与 LAContext 类一起使用。我发送了一个“使用生物特征进行身份验证”请求,过了一会儿(例如 200 毫秒)我想取消这个请求。不幸的是,我无法在我的代码中取消此请求,我发现的唯一方法是取消来自用户的请求并且需要用户操作。 这是我的代码:

LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if (true) {
    [context 
evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
                        localizedReason:@"Place your finger?"
                        reply:^(BOOL success, NSError *error) {
                        }];

如果你们能帮助我,我真的很感激。
谢谢。

【问题讨论】:

    标签: ios objective-c iphone touch-id


    【解决方案1】:

    您可以从 iOS 9 开始实现这一点。CAContext 类中有一个 invalidate 方法。

    在你的控制器中,在[context evaluatePolicy: localizedReason: reply:]之后写下面的代码

    [self performSelector:@selector(invalidateCA) withObject:self afterDelay:0.2]; 
    

    然后声明你取消TouchID的方法

    - (void)invalidateCA
    {
        // you have to get a reference to it when you create CAContext
        [self.context invalidate];
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2011-04-18
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      相关资源
      最近更新 更多