Touch ID 的使用
Touch ID 的使用
使用Touch ID
主要是用到 LocalAuthentication
。这个库是iOS8
之后才有的。在使用上,其实不难,主要是两个方法:
public func canEvaluatePolicy(policy: LAPolicy, error: NSErrorPointer) -> Bool
该方法是用于判断设备是否支持使用Touch ID
public func evaluatePolicy(policy: LAPolicy, localizedReason: String, reply: (Bool, NSError?) -> Void)
该方法则是进行Touch ID
验证后的处理。
Demo
代码。
import UIKit
import LocalAuthentication
class ViewController: UIViewController {
let lacontext : LAContext = LAContext()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func unlockAction(sender: AnyObject) {
if self.lacontext.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: nil) {
lacontext .evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "解锁验证", reply: { (success : Bool, error : NSError?) in
if success {
print("解锁成功")
// 更新UI etc.
} else {
let laError : LAError = error as! LAError
switch laError {
case .AuthenticationFailed :
print("授权不成功,\(error!.code)")
break
case .UserCancel :
print("授权失败,\(error!.code)")
break
case .TouchIDNotAvailable :
print("该指纹不存在,\(error!.code)")
break
default:
print("其他的就不列举了,\(error!.code)")
break
}
}
})
} else {
print("该设备无法支持 touch id")
}
}
}