Отменить 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];
}
Другие вопросы по тегам