Wenn der Touch ID-Alarm angezeigt wird, gibt es auch eine Schaltfläche "Abbrechen". Ich würde es vorziehen, dem Benutzer KEINEN Abbruch zu erlauben, weil es verboten ist, weiter zu machen. 1. Gibt es eine Möglichkeit, die Schaltfläche "Abbrechen" zu entfernen? 2. Wenn die Schaltfläche "Abbrechen" erforderlich ist, wie kann ich den Benutzer zur erneuten Authentifizierung mit einem Fingerabdruck zwingen? Wenn authenticate() ein zweites Mal aufgerufen wird, lässt die Touch ID-API sie einfach ein. Es gibt keinen alternativen Passcode und ich würde es hassen, einen anderen View-Controller dafür programmieren zu müssen.Benutzer kann die Bereinigung nicht verhindern. Touch ID
func authenticate() {
let myContext:LAContext = LAContext()
let authError:NSErrorPointer = nil
if (myContext.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: authError)) {
myContext.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "Press fingerprint", reply: { (success:Bool, error:NSError?) -> Void in
if success == true {
log.debug("SUCCESSFUL AUTHENTICATION")
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.performSegueWithIdentifier("showUI", sender: self)
})
}
else {
log.debug("FAILED AUTHENTICATION")
self.authenticate()
}
})
}
}
Das ist wirklich ein benutzerfeindliches Design - Sie sollten das vom Design Standpunkt aus überdenken. – sschale
Zumindest in Betracht ziehen, Fallback auf Passcode zuzulassen; und fallen Sie nicht in die Falle, dass Sie denken, dass die touchID sicherer ist als der Zugangscode, denn wenn Sie den Zugangscode kennen, können Sie neue Finger registrieren ... – Paulw11