Hier ist mein Code für die TouchId-Funktion. Ich möchte, dass der Benutzer den PIN-Code, den er zum Entsperren seines Telefons verwendet, eingeben muss, um seine Identität zu überprüfen und sich einzuloggen, ohne den Benutzernamen und das Passwort einzugeben. Aber ich möchte nur, dass sie diese Option haben, wenn die Touch-ID nicht funktioniert oder nicht verfügbar ist.Schnell, wie Pin-Code für den Zugriff auf Schlüsselbund verwenden
Wie würde ich darüber gehen?
@IBAction func touchIDLogin(sender: AnyObject) {
let authenticationContext = LAContext()
var error: NSError?
//check if device supports touch id, if not show error and stop
guard authenticationContext.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: &error) else{
displayAlert("TOUCH ID ERROR", msg: "This device does not support TouchID", option: false)
return
}
authenticationContext.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Verify who you are to login", reply: {[unowned self](success, error) -> Void in
if(success){
//Fingerprint recognized
var stored_pass = ""
var stored_user = ""
stored_pass = (self.my_keychain_wrapper.myObjectForKey("v_Data") as? String)!
stored_user = (NSUserDefaults.standardUserDefaults().valueForKey("username") as? String)!
if(!stored_pass.isEmpty || !stored_user.isEmpty){
PFUser.logInWithUsernameInBackground(stored_user, password: stored_pass, block: { (user, error) -> Void in
//unsuccessful login display error message
if user == nil {
if let error_string = error!.userInfo["error"] as? String{
self.displayAlert("ERROR IN LOGIN", msg: error_string, option: false)
}
}
//successful login
else{
self.performSegueWithIdentifier("dashboard_segue", sender: self)
}
})
}
else{
self.displayAlert("LOGIN ERROR", msg: "No valid login credentials were found", option: false)
}
}
//error check
else{
if let error = error{
let message = self.errorMessageForLAErrorCode(error.code)
self.displayAlert("TOUCH ID ERROR", msg: message, option: false)
}
}
})
}
Ich glaube, Sie müssen Ihre eigenen Stift verwalten und es als Ausweich von Touch-ID verwenden, schlägt fehl – Wain
https://developer.apple.com/reference/localauthentication/lapolicy/1514164-deviceownerauthentication – user3441734
Diese Art von hilfreich, aber ich immer noch weiß nicht, wie man das ausnutzt: / – momonkey