这是在IOS上验证用户身份的操作,使用Local Authentication框架,在这个框架里每种验证用户身份的方法称为策略,现有的策略有两种,一个是只使用Touch ID的策略:DeviceOwnerAuthenticationWithBiometrics,一个是使用Touch ID和设备密码的策略:DeviceOwnerAuthentication。
首先创建一个上下文环境,我们将在这个环境里验证用户的身份。
let authenticationContext = LAContext()
接下来选择策略,通过上下文看看设备是否有验证这个策略的能力,然后验证就好了。
let policy = LAPolicy.DeviceOwnerAuthentication
var error: NSError? = nil
let canAuthenticate = authenticationContext.canEvaluatePolicy(policy, error: &error)
if canAuthenticate == false {
print("can't use because:\(error)")
}
let authenticationReason = "You are about to See Top Secert"
authenticationContext.evaluatePolicy(policy, localizedReason: authenticationReason) { (succeeded:Bool, error:NSError?) -> Void in
if succeeded {
//验证成功,做你想做的事
} else {
print("Not authenticated!\(error)")
//对于不同的错误可以做不同的处理
if error?.code == LAError.UserFallback.rawValue {
//用户决定输入密码
print("请输入密码")
}
if error?.code == LAError.UserCancel.rawValue {
//用户取消
print("取消了就不给你看咯")
}
}