Programmatische Überprüfung der Unterstützung von 'Face Id' und 'Touch Id'

8

Ich habe LocalAuthentication für meine App-Sicherheitsfunktion integriert, die 'Touch-ID' basierte Unterstützung. Aber jetzt hat Apple kürzlich 'Face Id' basierte Authentifizierung hinzugefügt.

Wie kann ich überprüfen, welche Art der Authentifizierung von einem Gerät unterstützt wird? Berühren Sie Id oder Face Id?

    
Krunal 23.10.2017, 10:49
quelle

4 Antworten

10

Mit Xcode 9 sehen Sie sich LocalAuthentication - & gt; LAContext - & gt; LABiometryType .

LABiometryType ist eine Aufzählung mit Werten wie im angehängten Bild

Sie können überprüfen, welcher Authentifizierungstyp vom Gerät zwischen Touch ID und FaceID unterstützt wird oder nicht.

Bearbeiten:

Apple hat die Werte für diese Aufzählung LABiometryType aktualisiert. none ist jetzt veraltet .

    
Surjeet 23.10.2017, 10:55
quelle
9

Ich habe Mühe, dies zum Laufen zu bringen, und festgestellt, dass ich eine einzelne Instanz des LAContext verwenden musste und die LAContextInstance .canEvaluatePolicy (.deviceOwnerAuthenticationWithBiometrics, error: nil) aufrufen musste, bevor ich sie erhielt der biometrischeTyp. Hier ist mein abschließender Code mit Unterstützung für ältere iOS-Versionen:

%Vor%     
leifdan01 24.10.2017 21:14
quelle
3

Hier ist ein weiterer Weg über die Eigenschaft (z. B. auf Ihrer Access-Instanz).

%Vor%     
Dren 29.11.2017 14:20
quelle
0

Ziel C :)

%Vor%     
karim 21.02.2018 08:21
quelle