TouchID Xcode 7,Swift 2

TouchID with Xcode 7, Swift 2

我不知道如何使用 Xcode 7 使用 Swift 2 来使用 TouchID。这是我遇到问题的部分代码:

override func viewDidLoad() {
    super.viewDidLoad()

    let auth = LAContext()
    var authError: NSError?

    auth.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError)

    }

这应该适用于 iOS 8,但不适用于 Xcode 7 Beta for iOS 9 开发。它给出了这个编译器错误:"Extra Argument 'error' in call",并且突出显示了“&authError”。当我删除额外的参数时,出现编译器错误:"Call can throw, but it is not marked with 'try' and the error is not handled."

do {
    try auth.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics) 
} catch {
    print("Error: \(error)")
}

只要确保处理错误即可。

在 Swift 2 Apple 引入了新的错误处理机制。
如果你看一下方法声明,你会看到:

func canEvaluatePolicy(policy: LAPolicy) throws  

它没有 error 参数,但它有一个特殊的词 throws 告诉您可能会抛出的潜在错误。

要处理此类错误,请使用 do/try/catch 表达式:

do {
    try auth.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics)
} catch {
    // Handle error
}