In unserer App muss sich der Benutzer für die Gerätebiometrie registrieren, um ihn für die Authentifizierung zu verwenden. Der Registrierungstext und die rechtlichen Hinweise entsprechen der relevanten Biometrie (Register to touch ID oder register to face ID) Soweit ich gefunden habe, ist der Biometrietyp über den LAContext erhältlich, aber wenn der Benutzer die Verwendung der Biometrie verweigert, dann der Kontext gibt zurück biometryType = .noneBiometrietyp, wenn der Benutzer die Biometrie verweigert
Irgendwelche Ideen andere, die nach der Bildschirmgröße und dem Vergleichen mit iphone X (schlechter schlechter Code) fragen?
static fileprivate var biometryType: DSLocalAuthenticationBiometryType {
let context = LAContext()
var error: NSError?
let _ = context.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error)
if #available(iOS 11.0, *) {
return context.biometryType == .typeFaceID ? .typeFaceID : .none
}
else {
return .none
}
}
Dank
funktioniert wie ein Zauber. Vielen Dank –
@Juan iOS 10 kann nur die Unterstützung (oder nicht) der Touch-ID, ich spreche über das Ergebnis von der Methode canEvaluatePolicy, die zurückgeben, ob das Gerät physisch den Fingerabdruck-Sensor auf ihm hat. Um sicher zu sein, können Sie unter iOS 10 die Richtlinie LAPolicyDeviceOwnerAuthenticationWithBiometrics verwenden. Das Szenario, in dem Sie iOS 10 auf dem iPhone X ausführen, kann nicht berücksichtigt werden, da es bereits mit iOS 11 geliefert wird. Es gibt keinen Sinn, biometryType auf iOS10 zu haben, da es nur dann wahr ist, wenn Sie einen Fingerabdrucksensor haben :) Ich habe meine Antworten für den iOS 10 Fall bearbeitet –