TouchID를 사용하여 내 앱을 인증하고 싶습니다. 인증이 성공적으로 완료되었습니다. TouchID가 일치하지 않으면 다시 시도 경고가 열리고 해당 경고는 암호 입력 옵션입니다. 사용자가이를 선택하면 시스템 암호 인증이 표시되어야하지만 어떻게해야합니까? 내 응용 프로그램으로 이동 암호를 입력하면 TouchID가 실패하면 시스템 패스 코드 인증으로 전달
func touchIDAuthentication() {
let context = LAContext() //1
var error:NSError?
guard context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) else {
showAlertViewIfNoBiometricSensorHasBeenDetected()
return
}
if context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &errorPointer) {
context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (success, error) in
if success {
DispatchQueue.main.async {
print("Authentication was successful")
}
}else {
DispatchQueue.main.async {
self.displayErrorMessage(error: error as! LAError)
print("Authentication was error")
}
}
})
}else {
self.showAlertWith(title: "Error", message: (errorPointer?.localizedDescription)!)
}
}
func displayErrorMessage(error:LAError) {
var message = ""
switch error.code {
case LAError.authenticationFailed:
message = "Authentication Failed."
break
case LAError.userCancel:
message = "User Cancelled."
break
case LAError.userFallback:
message = "Fallback authentication mechanism selected."
break
case LAError.touchIDNotEnrolled:
message = "Touch ID is not enrolled."
case LAError.passcodeNotSet:
message = "Passcode is not set on the device."
break
case LAError.systemCancel:
message = "System Cancelled."
break
default:
message = error.localizedDescription
}
self.showAlertWith(title: "Authentication Failed", message: message)
}
방법이 화면을 표시하려면 다음
를 암호가 성공적으로 다음 내 응용 프로그램에 리디렉션하는 방법을 입력 한 경우. – saravanar
@ saravanar 당신은 alreary가'if success {'조건을 사용하여 그것을 관리했습니다. 패스 코드가 corrent이고 패스 코드보기가 자동으로 닫히고 추가 작업을 위해 사용할 수있는 부울 값으로'sucess'를 제공합니다. – Krunal