TouchID功能是从iPhone5S时代引入的安全功能,经过这个功能用户能够省略众多输入密码的繁琐步骤,而且得到更好的安全性,下面咱们来一块儿学习一下如何进行TouchID本地验证.swift
首先建立好项目,选择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) }
最终效果ui