Я работаю над интеграцией touchID в свое приложение. Процесс был довольно простым, но даже просто используя мои фиктивные данные, он занимает около 5 секунд после того, как он аутентифицировал мой отпечаток, прежде чем он выполнит свою задачу.swift - touchID занимает много времени, чтобы загрузить
Вот мой код:
func requestFingerprintAuthentication() {
let context = LAContext()
var authError: NSError?
let authenticationReason: String = "Login"
if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError) {
context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: authenticationReason, reply: {
(success: Bool, error: NSError?) -> Void in
if success {
println("successfull signin with touchID")
self.emailInputField.text = "[email protected]"
self.passwordInputField.text = "password"
self.signIn(self.signInButton)
} else {
println("Unable to Authenticate touchID")
}
})
}
}
даже с фиктивными данными, она занимает waaay слишком долго.
Когда я вхожу в систему обычно, введя адрес электронной почты и пароль в свои поля ввода, функция signIn() запускается мгновенно.
Чтобы узнать, есть ли проблемы с этим. Я попытался заменить это, используя 2 строки, которые просто приводят меня к правильному viewController. Но это все еще занимает несколько секунд после того, как он аутентифицировал мой отпечаток.
Я знаю, что это не телефон, а touchID. Потому что он немедленно запускает мой println («успешный вход с touchID»). Это то, что приходит после этого, что по какой-то причине занимает несколько секунд для его запуска?
Любая помощь, объясняющая это, была бы очень признательна!
Спасибо ооочень большое за вашу помощь Гари !, он работал отлично. – MLyck
Спасибо Гэри. Очень круто. –