UITextField Подтверждение автозаполнения пароля
Я играл с функцией автозаполнения паролей UITextField для входа в мой бэкэнд, и до сих пор я не смог найти способ фактически подтвердить или подтвердить, что пользователь прошел аутентификацию через TouchID для доступа к своим паролям.
Я сумасшедший или из-за того, что эта функция встроена в iOS, мы не можем проверить, удалось ли пользователю успешно пройти аутентификацию?
Или я пропускаю какой-то вызов делегата в LocalAuthentication API, который вызывается?
TIA за вашу помощь.
1 ответ
Я использую такой метод с обратным вызовом с результатом, иногда я сохраняю результат, чтобы посмотреть его позже в сеансе. Не уверен, что это то, что вы ищете, или вам нужно что-то более продвинутое. Для меня это часть класса, где я создал своих собственных делегатов, которых я также вызываю при аутентификации или сбое.
private func authenticateUser(completion: @escaping (Bool)->()) {
let context = LAContext()
var error:NSError?
let reason = "Authenticate for access"
context.localizedFallbackTitle = ""
if(context.canEvaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, error: &error)){
context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (success, error) -> Void in
if(success){
completion(true)
} else {
completion(false)
}
})
}
}