моя главная цель - быстро подключиться к моему родному проекту. Но давайте сосредоточимся на Swift. Я хочу получить результат локальной биометрической аутентификации.
Биометрический Мне удалось добиться появления биометрической аутентификации. Но я хочу получить результат как логический - Успех или Неудача. Однако моя функция не может вернуть правильный результат. Пожалуйста, посмотрите
// Biometric Authentication
func biometricAuthentication() -> Bool {
print("In authenticateUser()")
let context = LAContext()
let reason = "Biometric Authntication testing !!"
// var authError: NSError?
var result : Bool = false
if #available(iOS 8.0, macOS 10.12.1, *){
print("in available")
context.evaluatePolicy(LAPolicy.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) { (success, error) in
DispatchQueue.main.async {
if success {
result = true
print("Success")
}else{
print("Failed")
return
}
// return result
}
}
print("Result : \(result)")
return result
}else{
print("This feature is not supported.")
self.resultLabel.text = "Not Supported"
return result
}
}
return
получить результат, а добавить замыкание@escaping
, параметром которого является, например,Bool
. Но не пытайтесьreturn
использовать значение, переданное в обработчике завершения асинхронного метода. - person Rob   schedule 15.04.2021