2017-11-07 42 views
9

シミュレータを使用して生体認証をテストできますか?シミュレータでFace IDをテストできますか?

iPhoneのシミュレータには、フェイスID登録のメニューが表示されますが、有効にした後、何をすることができますか?

認証のために顔を認識する方法は?

iPhone X Simulator - Face ID settings

答えて

6

シミュレータはちょうどそれがタッチIDでないと同じように、正しいと失敗した顔認識の結果をシミュレートします。 は、面を認識しません。

+0

ありがとうございました。私は初めてバイオメトリックで働いています。だから私たちは正常に認証するために認証中に顔を押す必要があります。 – technerd

1

を聞いても、それを有効にした後、何をすることができますか?

touch-idの登録と同じように、iPhone-Xでface-Idを使って確認できます。 シミュレータは、あなたが物事を次の操作を行うことができます顔-IDの登録でAppStoreのようないくつかの制限など 持っしかし - 購入を行うために

  • 使用フェイスIDを。
  • ログインIDでログイン(アプリにログイン)。
  • Safariのパスワードを自動入力します。
  • iTunes Store、App Store、およびiBooks Storeにあります。

See more at Apple

+0

あなたのご意見ありがとうございます、私は確かに詳細についてはリンクをチェックします。 – technerd

6

シミュレータは、顔を認識しませんが、あなたがFace IDからEnrolledオプションを有効にした場合は、マッチングと非マッチング面をシミュレートすることができます。

あなたのビューコントローラに次のコードを追加し、

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

てみてくださいFaceID認証は、アプリのFaceIDの検出を可能にする最初の時間を要求します。

enter image description here


今顔IDの登録を有効にして、顔IDシミュレーションテストをテストするためのアプリケーションを実行します。

ここでは、一致する顔と一致しない顔のシミュレーション結果を示します。顔を合わせるための

結果:非整合面用

enter image description here


結果:場合は、単に第2 @krunalによって得同じ

enter image description here

+0

正方形のFace IDプロンプトを何とかカスタマイズできますか? テキストを追加したいと思います。出来ますか? –

0

1位外にあるはずです。

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 
    } 
} 
} 
関連する問題