经常使用支付宝的的指纹登录,既安全,又方便。抽空就结合着指纹的相关知识,理了一下这个流程。
在梳理支付宝指纹流程之前,先熟悉一下关于指纹解锁的知识。
指纹解锁的相关类位于 LocalAuthentication.framework 。这个库内容比较少,所以不是很复杂。主要方法如下
判断 TouchID 或者手机密码是否可用
- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none)));
其中:LAPolicy 是个枚举 :
LAPolicyDeviceOwnerAuthenticationWithBiometrics
指纹验证,三次验证不成功 就会自动取消验证
注:这个时候可以再次被调起,但如果依然验证不通过,TouchID则会被锁定。
和
LAPolicyDeviceOwnerAuthentication
两次指纹匹配不成功,会自动弹出输入密码界面。
注:当上面的TouchID多次不匹配,被锁定,无法调起的时候,我们可以调这个,会直接弹出输入密码的界面。
而 Error 里包含的是错误码。通过error.code
获取。
我们常用的,也是比较重要的,有这两个code。(其他的具体可以参考 LAError 类)
LAErrorAuthenticationFailed -1
LAErrorTouchIDLockout