很屌的项目运用iOS学习笔记iOS进阶指南

Touch ID

2016-05-13  本文已影响63人  exialym

这是在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("取消了就不给你看咯")
        }
    }
        
上一篇下一篇

猜你喜欢

热点阅读