지문 인식이나 얼굴 인식에 사용할 수 있는 function임. @escaping을 사용하여 함수 밖으로 결과를 보내줌.
func execute(completion: @escaping (Bool) -> Void) {
var error : NSError?
self.context = LAContext()
if context.canEvaluatePolicy(.deviceOwnerAuthentication, error: &error) {
let reason = "Sign In to your account"
context.evaluatePolicy(.deviceOwnerAuthentication, localizedReason: reason) { [weak self] confirmed, error in
if confirmed {
DispatchQueue.main.async { [weak self] in
guard let self = self else { return }
self.delegate?.didUpdateState(.confirmed)
completion(true)
}
} else {
completion(false)
}
}
}
}
Util로 빼서 만들어주면 사용서에서 좀 더 좋아짐.