发布于 4年前

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")
        }
    }
}
©2020 edoou.com   京ICP备16001874号-3