TouchID指纹识别是iPhone 5 s设备中增加的一项重大功能。苹果的后续移动设备也相继添加了指纹功能,在实际使用中还是相当方便的,比如快捷登录,快捷支付等等。系统提供了相应框架,使用起来还是比较方便的。使用LAContext对象即可完成指纹识别,提高用户体验。
指纹识别必须用真机测试,并且在iOS8以上系统。
<强> TouchID API使用强>
<强> 1。添加头文件强>
#进口
<强> 2。判断系统版本强>
//首先判断版本 如果(NSFoundationVersionNumber & lt;NSFoundationVersionNumber_iOS_8_0) { NSLog(@”系统版本不支持TouchID”); 返回; } >之前<强> 3. lapolicy 强>
在这里简单介绍一下LAPolicy,它是一个枚举。我们根据自己的需要选择LAPolicy,它提供两个值:
LAPolicyDeviceOwnerAuthenticationWithBiometrics和LAPolicyDeviceOwnerAuthentication。
& lt; 1祝辞。LAPolicyDeviceOwnerAuthenticationWithBiometrics是支持iOS8以上系统,使用该设备的TouchID进行验证,当输入TouchID验证5次失败后,TouchID被锁定,只能通过锁屏后解锁设备时输入正确的解锁密码来解锁TouchID。
& lt; 2祝辞.LAPolicyDeviceOwnerAuthentication是支持iOS9以上系统,使用该设备的TouchID或设备密码进行验证,当输入TouchID验证5次失败后,TouchID被锁定,会触发设备密码页面进行验证。
<强> 4。canEvaluatePolicy 强>
使用canEvaluatePolicy方法判断设备是否支持TouchID,返回BOOL为是的,该设备支持TouchID。
如果([上下文canEvaluatePolicy: LAPolicyDeviceOwnerAuthenticationWithBiometrics错误:和错误)){为返回验证错误码。具体不解释了。
<强> 5。evaluatedPolicyDomainState 强>
context.evaluatedPolicyDomainState用于判断设备上的指纹是否被更改,在LAContext被创建的时候,evaluatedPolicyDomainState才生效,可在TouchID验证成功时,将它记录下来,用于下次使用TouchID时校验,提高安全性。
<强> 6。evaluatePolicy 强>
evaluatePolicy方法是对TouchID进行验证,块回调中如果成功为是的则验证成功,为没有验证失败,并对错误进行解析。
——(IBAction) loginButtonClick:(UIButton *)发送者{//首先判断版本 如果(NSFoundationVersionNumber & lt;NSFoundationVersionNumber_iOS_8_0) { NSLog(@”系统版本不支持TouchID”); 返回; } LAContext *上下文=[[LAContext alloc] init); 上下文。localizedFallbackTitle=@ "输入密码”; 如果(@available (iOS 10.0 *)) {//上下文。localizedCancelTitle=@“22222”; 其他}{//回退alt=" iOS指纹登录(TouchID)集成方案详解“>结果
输入错误的时候
<强>总结:强> TouchID使用起来不难,重要的是使用流程逻辑。
以登录为例,一般来说流程是这样的:
-
<李>首次登陆使用密码登录,登录后,可以设置一个开启指纹ID登录的按钮,来进行指纹认证。李>
<李>检测是否支持TouchID。李>
<李> TouchID验证通过后,根据当前已登录的账号和硬件设备牌,生成设备账号/密码(规则可自定,密码要长要复杂),并保存在钥匙链,李>
<李>生成设备账号/密码后,将原账号及设备账号/密码,加密后(题主使用的是RSA加密)发送到服务端进行绑定;李>
<李>验证原账号及设备账号有效后,返回相应状态,绑定成功则完成整个TouchID(设备)绑定流程。李>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。