iOS指纹登录(TouchID)集成方案详解

  

TouchID指纹识别是iPhone 5 s设备中增加的一项重大功能。苹果的后续移动设备也相继添加了指纹功能,在实际使用中还是相当方便的,比如快捷登录,快捷支付等等。系统提供了相应框架,使用起来还是比较方便的。使用LAContext对象即可完成指纹识别,提高用户体验。

  

 iOS指纹登录(TouchID)集成方案详解

  

指纹识别必须用真机测试,并且在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)集成方案详解“>

  

结果   

 iOS指纹登录(TouchID)集成方案详解

  

输入错误的时候

  

<强>总结: TouchID使用起来不难,重要的是使用流程逻辑。

  

以登录为例,一般来说流程是这样的:

  
      <李>首次登陆使用密码登录,登录后,可以设置一个开启指纹ID登录的按钮,来进行指纹认证。   <李>检测是否支持TouchID。   <李> TouchID验证通过后,根据当前已登录的账号和硬件设备牌,生成设备账号/密码(规则可自定,密码要长要复杂),并保存在钥匙链,李   <李>生成设备账号/密码后,将原账号及设备账号/密码,加密后(题主使用的是RSA加密)发送到服务端进行绑定;李   <李>验证原账号及设备账号有效后,返回相应状态,绑定成功则完成整个TouchID(设备)绑定流程。   
  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

iOS指纹登录(TouchID)集成方案详解