Отменить LAContext Evaluation в Задаче C
Я пытаюсь написать код в цель C для iphone, и в основном я пытаюсь использовать сенсорный идентификатор сенсора с классом LAContext. Я отправляю запрос "аутентификация с использованием биометрии" и через некоторое время (например, 200 миллисекунд) хочу отменить этот запрос. К сожалению, я не смог отменить этот запрос в своем коде, единственный способ, который я нашел, это отменить запрос от пользователя, который требует действий пользователя. Вот мой код:
LAContext *context = [[LAContext alloc] init];
NSError *error = nil;
if (true) {
[context
evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics
localizedReason:@"Place your finger?"
reply:^(BOOL success, NSError *error) {
}];
Я очень ценю, если вы, ребята, можете мне помочь.
Благодарю.
1 ответ
Вы можете добиться этого начиная с iOS 9. Существует invalidate
метод в CAContext
учебный класс.
В вашем контроллере напишите код ниже сразу после [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];
}