53 votes

Pouvons-nous tester l’identité faciale dans un simulateur?

Peut-on tester l'authentification biométrique à l'aide du simulateur?

IPhone X Simulator affiche un menu pour l’enregistrement de visage, mais que puis-je faire après?

Comment il va reconnaître un visage pour l'authentification?

iPhone X Simulator - Paramètres d'identification de visage

48voto

Krunal Points 33551

Simulateur de ne pas reconnaître un visage, mais il vous permet de simuler un appariement et de non-appariement de visages, si vous avez activé l' Enrolled option de Face ID.


Ajoutez le code suivant à votre vue-contrôleur et d'essayer avec le 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")
                        }
                    }

                })
            })
        }


    }
}

FaceID authentification vous invite pour la première fois à permettre FaceID de détection pour votre application.

enter image description here


Activer maintenant le Visage de l'ID d'inscription et d'exécuter votre application de test d'identification des visages des Tests de simulation.

Ici est le résultat de la simulation pour la mise en correspondance et de non-appariement de visages.

Résultat de l'appariement de visage:

enter image description here


Résultat de non-appariement de visage:

enter image description here


9voto

Tamás Sengel Points 25414

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 .

1voto

Jack Points 4771

Comme vous le demander , mais après l'activation de la que les, que puis-je faire?

Tout comme un touch Id de l'inscription, Vous pouvez vérifier les choses en face Id sur iPhone-X. Cependant simulateur de certaines limitations comme l'Appstore, etc. Avec le face-Id de l'adhésion, vous pouvez faire les choses suivantes -

  • L'utilisation d'identification des visages pour faire des achats.
  • Connectez-vous avec le Visage ID (connexion à des applications).
  • Saisie automatique les mots de passe dans Safari.
  • Dans l'iTunes Store, l'App Store et l'iBooks Store.

Voir plus d'Apple

0voto

user1636255 Points 34

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
     }
 }
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X