2017-11-07 16 views
9

क्या हम सिम्युलेटर का उपयोग कर बॉयोमीट्रिक प्रमाणीकरण का परीक्षण कर सकते हैं?क्या हम सिम्युलेटर में फेस आईडी का परीक्षण कर सकते हैं?

iPhone एक्स सिम्युलेटर चेहरा आईडी नामांकन के लिए एक मेनू से पता चलता है, लेकिन यह सक्षम करने के बाद, मैं क्या कर सकता है?

यह प्रमाणीकरण के लिए एक चेहरा कैसे पहचान लेंगे?

iPhone X Simulator - Face ID settings

उत्तर

6

सिम्युलेटर सिर्फ एक सही और एक असफल चेहरा पहचानने के परिणाम simulates, जैसे यह टच आईडी के साथ करता है। यह चेहरे पहचान नहीं करता है।

+0

धन्यवाद, आपका अंक प्राप्त करें। मैं बॉयोमीट्रिक के साथ पहली बार काम कर रहा हूं। तो हमें सफलतापूर्वक प्रमाणित करने के लिए प्रमाणीकरण के दौरान मैच चेहरे को दबा देना होगा। – technerd

1

आप पूछ लेकिन यह है कि सक्षम करने के बाद, मैं क्या कर सकता के रूप में?

बस एक स्पर्श क्रमांक नामांकन की तरह, आप iPhone एक्स पर आमने-आईडी के साथ चीजों को सत्यापित कर सकते हैं। हालांकि सिम्युलेटर एपस्टोर आदि सामना क्रमांक नामांकन आप चीजों को निम्न कर सकते हैं के साथ जैसे कुछ सीमाएं हैं -

  • उपयोग चेहरा आईडी खरीद करने के लिए।
  • फेस आईडी के साथ साइन इन करें (ऐप्स में साइन इन करें)।
  • सफारी में ऑटोफिल पासवर्ड।
  • आईट्यून्स स्टोर में, App स्टोर, और iBooks स्टोर।

See more at Apple

+0

आपके इनपुट के लिए धन्यवाद, मैं निश्चित रूप से अधिक जानकारी के लिए लिंक की जांच करूंगा। – technerd

6

सिम्युलेटर एक चेहरे को नहीं पहचानता है, लेकिन आप, उससे मिलते-जुलते और गैर मिलान चेहरे अनुकरण करने के लिए यदि आप Face ID से Enrolled विकल्प सक्रिय कर दिया है की अनुमति देता है।

जोड़ें आपके विचार नियंत्रक करने के लिए कोड का पालन और FaceID

साथ
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 का पता लगाने के लिए अनुमति देने के लिए संकेत देगा।

enter image description here


अब सक्षम चेहरा आईडी नामांकन और चेहरा आईडी सिमुलेशन परीक्षण परीक्षण करने के लिए अपने अनुप्रयोग चलाते हैं।

यहाँ मिलान और मेल नहीं चेहरों के लिए सिमुलेशन परिणाम है।

चेहरे के मिलान के लिए परिणाम:

enter image description here


मेल नहीं खाने वाले चेहरे के लिए परिणाम:

enter image description here

+0

क्या कोई भी उस स्क्वायर फेस आईडी प्रॉम्प्ट को कस्टमाइज़ कर सकता है? मैं वहां कुछ टेक्स्ट जोड़ना चाहता हूं। क्या यह संभव है? –

0

एक ही रूप में @krunal सिर्फ 2 यदि द्वारा देना 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 
    } 
} 
} 
संबंधित मुद्दे