TouchID功能是从iPhone5S时代引入的安全功能,通过这个功能用户可以省略众多输入密码的繁琐步骤,并且获得更好的安全性,下面我们来一起学习一下如何进行TouchID本地验证.
框架导入
首先创建好项目,选择Build Phases。在Link Binary with Libraries中将LocalAuthentication的framework添加进项目
在代码中import引入的framework。
在viewController中import LocalAuthentication
指纹验证
接下来在StoryBoard中创建一个按钮,并且拉一个IBAction,这里我们命名为check
在这个方法中我们进行本地验证的具体步骤
//本地验证上下文对象
let context = LAContext()
//验证错误
var authError : NSError?
//在验证界面显示的文字
let errorReason = "使用TouchID验证"
接下来就开始实现指纹验证的主要功能
若可以进行指纹验证
if context.canEvaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, error: &authError){
//若可以进行指纹验证
//通过设备自带的生物识别装置(TouchID)进行本地验证 context.evaluatePolicy(LAPolicy.DeviceOwnerAuthenticationWithBiometrics, localizedReason: errorReason, reply: {(success, error) in
//验证结束的闭包,第一个参数为结果,第二个参数为错误信息
if success {
print("验证成功")
}
else{
print("验证失败")
}
})
}
若不能进行指纹验证
//若不能进行指纹验证,通过alertController提示验证失败
else{
let alert = UIAlertAction(title: "无法验证", style: UIAlertActionStyle.Default, handler: { _ in
self.dismissViewControllerAnimated(true, completion: nil)
})
let alertController = UIAlertController(title: "验证结果", message: nil, preferredStyle: UIAlertControllerStyle.Alert)
alertController.addAction(alert)
//显示alertController
self.presentViewController(alertController, animated: true, completion: nil)
}
最终效果
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。