我正在尝试用objective C为iphone编写一段代码,基本上我正在尝试使用带有LAContext类的触摸id传感器。我发送了一个“使用生物特征进行身份验证”请求,过了一段时间(例如200毫秒),我想取消这个请求。不幸的是,我不能在我的代码中取消这个请求,我发现的唯一方法是取消来自用户的请求,这需要用户操作。下面是我的代码:
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if (true) {
[context
evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:@"Place your finger?"
reply:^(BOOL success, NSError *error) {
}];如果你们能帮我,我真的很感激。
谢谢。
发布于 2017-10-05 18:44:58
从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];
}https://stackoverflow.com/questions/35821146
复制相似问题