Peut-on tester l'authentification biométrique à l'aide du simulateur?
Le iPhone X Simulator affiche un menu pour l’enregistrement d’ID de visage, mais que puis-je faire après l’activer?
Comment il va reconnaître un visage pour l'authentification?
Simulator ne reconnaît pas un visage, mais vous permet de simuler un visage correspondant ou non, si vous avez activé l'option Enrolled
à partir de Face ID
.
Ajoutez le code suivant à votre contrôleur de vue et essayez avec Face-ID
import LocalAuthentication
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
localAuthentication()
}
func localAuthentication() -> Void {
let laContext = LAContext()
var error: NSError?
let biometricsPolicy = LAPolicy.deviceOwnerAuthenticationWithBiometrics
if (laContext.canEvaluatePolicy(biometricsPolicy, error: &error)) {
if let laError = error {
print("laError - \(laError)")
return
}
var localizedReason = "Unlock device"
if #available(iOS 11.0, *) {
if (laContext.biometryType == LABiometryType.faceID) {
localizedReason = "Unlock using Face ID"
print("FaceId support")
} else if (laContext.biometryType == LABiometryType.touchID) {
localizedReason = "Unlock using Touch ID"
print("TouchId support")
} else {
print("No Biometric support")
}
} else {
// Fallback on earlier versions
}
laContext.evaluatePolicy(biometricsPolicy, localizedReason: localizedReason, reply: { (isSuccess, error) in
DispatchQueue.main.async(execute: {
if let laError = error {
print("laError - \(laError)")
} else {
if isSuccess {
print("sucess")
} else {
print("failure")
}
}
})
})
}
}
}
L'authentification FaceID vous demandera pour la première fois d'autoriser la détection de FaceID pour votre application.
Activez maintenant l'inscription ID de visage et exécutez votre application pour tester les tests de simulation d'identité de visage.
Voici le résultat de la simulation pour les faces correspondantes et non correspondantes.
Résultat pour faire correspondre le visage:
Résultat pour une face qui ne correspond pas:
Le simulateur simule simplement le résultat d'une reconnaissance faciale correcte et erronée, comme c'est le cas avec Touch ID. Il ne reconnaît pas les visages .
Comme vous demandez mais après avoir activé cela, que puis-je faire?
Tout comme une inscription tactile, vous pouvez vérifier les choses avec face-id sur iPhone-X . Cependant, le simulateur a certaines limitations, comme Appstore, etc.
identique à donner par @krunal juste 2ème si devrait être en dehors de 1er.
import LocalAuthentication
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
localAuthentication()
}
func localAuthentication() -> Void {
let laContext = LAContext()
var error: NSError?
let biometricsPolicy = LAPolicy.deviceOwnerAuthenticationWithBiometrics
if (laContext.canEvaluatePolicy(biometricsPolicy, error: &error)) {
var localizedReason = "Unlock device"
if #available(iOS 11.0, *) {
if (laContext.biometryType == LABiometryType.faceID) {
localizedReason = "Unlock using Face ID"
print("FaceId support")
} else if (laContext.biometryType == LABiometryType.touchID) {
localizedReason = "Unlock using Touch ID"
print("TouchId support")
} else {
print("No Biometric support")
}
} else {
// Fallback on earlier versions
}
laContext.evaluatePolicy(biometricsPolicy, localizedReason: localizedReason, reply: { (isSuccess, error) in
DispatchQueue.main.async(execute: {
if let laError = error {
print("laError - \(laError)")
} else {
if isSuccess {
print("sucess")
} else {
print("failure")
}
}
})
})
}
//This should be outside of if
if let laError = error {
print("laError - \(laError)")
return
}
}
}