如何测试macOS的Touch ID?

Ric*_*ton 6 macos cocoa touch-id

我正在为macOS开发应用程序.我们希望在新的MacBook Pro中使用Touch ID传感器来解锁我们的应用程序.在iOS上,您可以从模拟器测试本地身份验证框架.

有没有办法测试Mac应用程序的Touch ID?最新的XCode版本提供了一个很好的Touch Bar模拟器,但我找不到Touch ID的任何内容.

谢谢!

iOS模拟器Touch ID测试

Ric*_*ton 6

Rick Fillion(来自1Password)非常友好地提供了一些建议:https://twitter.com/rickfillion/status/794370861646172160

使用LAPolicy.DeviceOwnerAuthentication测试.

这是我正在运行的代码(Swift 2.3):

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.
    }
}
Run Code Online (Sandbox Code Playgroud)