2016-11-04 4 views
4

Ich arbeite an einer App für MacOS. Wir möchten den Touch ID-Sensor in den neuen MacBook Pro verwenden, um unsere App zu entsperren. Unter iOS können Sie das Framework für lokale Authentifizierung im Simulator testen.Wie können Sie Touch ID für macOS testen?

Gibt es eine Möglichkeit, Touch ID für Mac-Anwendungen zu testen? Der neueste XCode-Build bietet einen schönen Touch-Bar-Simulator, aber ich kann nichts für Touch ID finden.

Danke!

iOS Simulator Touch ID testing

Antwort

3

Rick Fillion (von 1Password) war so freundlich, einige Ratschläge zu bieten: https://twitter.com/rickfillion/status/794370861646172160

Verwenden LAPolicy.DeviceOwnerAuthentication zu testen.

Hier ist der Code, den ich (Swift 2.3) leite:

import Cocoa 
import LocalAuthentication 

class ViewController: NSViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     let myContext = LAContext() 
     let myLocalizedReasonString = "unlock itself" 

     var authError: NSError? = nil 
     if #available(iOS 8.0, OSX 10.12, *) { 
      if myContext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthentication, error: &authError) { 
       myContext.evaluatePolicy(LAPolicy.DeviceOwnerAuthentication, localizedReason: myLocalizedReasonString) { (success, evaluateError) in 
        if (success) { 
         // User authenticated successfully, take appropriate action 
         print("Success") 
        } else { 
         // User did not authenticate successfully, look at error and take appropriate action 
         print("Failure") 
        } 
       } 
      } else { 
       // Could not evaluate policy; look at authError and present an appropriate message to user 
       print("Evaluation") 
       print(authError) 
      } 
     } else { 
      // Fallback on earlier versions 
      print("Fallback") 
     } 
     // Do any additional setup after loading the view. 
    } 
} 
Verwandte Themen