iOS中指纹识别常见问题汇总

2020-01-18 18:25:41刘景俊

iOS 9 之后锁定指纹识别之后,如果需要立即弹出输入密码界面需要使用LAPolicyDeviceOwnerAuthentication这个属性重新发起验证

如果输入了锁屏密码,指纹解密锁定会默认解除

ios10,指纹识别

iOS 8 错误5次锁定后,第6次验证需要密码

ios10,指纹识别

支付宝微信对于锁定的不同处理

2. 指纹识别的LAPolicy

第一个枚举LAPolicyDeviceOwnerAuthenticationWithBiometrics就是说,用的是手指指纹去验证的;NS_ENUM_AVAILABLE(NA, 8_0)iOS8 可用

第二个枚举LAPolicyDeviceOwnerAuthentication少了WithBiometrics则是使用TouchID或者密码验证,默认是错误两次指纹或者锁定后,弹出输入密码界面;NS_ENUM_AVAILABLE(10_11, 9_0)

iOS 9可用

3. 指纹识别LAContext的方法

canEvaluatePolicy:error:方法用来检查当前设备是否可用touchID,返回一个BOOL值;不会弹验证指纹密码框

evaluatePolicy:localizedReason:reply:调用验证方法,会弹验证指纹密码框

4. feedback按钮显示

默认第一次识别只有取消按钮

错误一次之后,会显示 feedBack 按钮

如果不想显示 feedback 按钮;可以设置 feedBackTitle = @""

ios10,指纹识别

设置 feedbackTitle 为@""

ios10,指纹识别

设置 feedbackTitle 为@"验证登录密码"

ios10,指纹识别

5. CancelTitle按钮显示

该属性, iOS 10 才可以进行设置,iOS 以前是不可以进行设置的

6. 指纹识别慢的问题

我的 iphone 7 Plus指纹识别启动过程需要2s 左右的时间;如果发现启动比较慢,这个是正常现象

支付宝和微信为了消除用户的紧张情绪,在开启指纹识别的时候都有放 HUD

指纹识别完成后,需要返回主线程进行相应的 操作;否者你会发现有时候识别完4-5秒才有反应

ios10,指纹识别

微信支付 HUD显示案例

demo的 HUD显示案例