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")
        }
    }
}
 
             
             
             
             
            