https://www.prolificinteractive.com/2015/01/26/tut...
Думаю тут вы найдёте все волнующие Вас вопросы, в том числе и проверку пароля.
Для начала переходим
сюда и смотрим:
case deviceOwnerAuthenticationWithBiometrics
Indicates that the device owner must authenticate using biometry. // Юзаем только биометрию
case deviceOwnerAuthentication
Indicates that the device owner can authenticate using biometry or the device password. //Юзаем биометрия и если её нет, то Пароль
Подробности по каждому из методов можно найти там же. Подробности 2ого
варианта
У тебя в коде 1ый варинт, сменим на 2ой:
if contex.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: nil) {
contex.evaluatePolicy(LAPolicy.deviceOwnerAuthentication, localizedReason: "Use TouchID", reply: { wasSuccessful, _ in
if wasSuccessful {
print("Все получилось")
let mainStoryboard = UIStoryboard(name: "Main", bundle: nil)
let homeVC = mainStoryboard.instantiateViewController(withIdentifier: "HomeVC")
self.navigationController?.pushViewController(homeVC, animated: true)
} else {
print("Что-то пошло не так")
}
})
}
При таком подходе, появится следующее:
Ну и забыл добавить, если тип проверки оставить неизменным, то есть 1ый способ, то при нажатии на кнопку ввести пароль нужно ловить ошибку типа . userFallback
При таком подходе после того как Вы отловили, вы уже сами вольны делать все что угодно. Выводить контрол или ещё что. НО, вывести экран с кнопками для ввода пинкод сами Вы не можете. Нужно реализовать свой, либо найти готовый, коих можно найти. А лучше воспользоваться обычным аллертом с полем для ввода.
Authentication was canceled because the user tapped the fallback button in the authentication dialog, but no fallback is available for the authentication
Подробности тут
https://developer.apple.com/documentation/localaut...