设计思路
TouchID 关联账号
用户登陆成功 -> 开启TouchID登陆 -> TouchID验证 -> 记录用户信息(验证通过) -> 关联完成
TouchID 登陆
用户使用TouchID登陆 -> TouchID验证 -> 从本地读取用户信息(验证通过) -> 与服务器通讯 -> 完成登陆
注意事项
TouchID只提供验证结果,不提供关联。(即不会返回一个标识让你去关联账号,如何关联需要自己设计)
TouchID 相关接口
来自 LocalAuthentication 框架中 LAContext 类
判断设备是否支持TouchID, 用以下接口
open func canEvaluatePolicy(_ policy: LAPolicy, error: NSErrorPointer) -> Bool
示例代码
let context = LAContext()
var error: NSError? let isAvailable = context!.canEvaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, error: &error) if isAvailable { print("Touch ID is available")
}else { print("Touch ID is not available:\(error!)")
}
进行指纹验证用下面接口
open func evaluatePolicy(_ policy: LAPolicy, localizedReason: String, reply: @escaping (Bool, Error?) -> Swift.Void)
示例代码
let context = LAContext()
context!.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason) {
(success, error) in if success { completed(true)
}else { completed(false)
print("\(error!)")
}
}
Demo下载
更多更详细教程请访问个人站点: 码出一个长城