iOS 指纹验证

产品需要新加指纹验证功能。然后看了下相关的文档。
- (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error attribute((swift_error(none)));
判断设备是否支持指纹验证
- (void)evaluatePolicy:(LAPolicy)policy localizedReason:(NSString *)localizedReason reply:(void(^)(BOOL success, NSError * __nullable error))reply;
调用指纹验证
这里重点说明下policy这个参数。这个参数是个枚举类型,有下面两种情况

LAPolicyDeviceOwnerAuthenticationWithBiometrics  

这个是iOS8以后可以调用的。注意:正常情况下指纹验证失败次数过多(ps:超过 3+2 次)的话,会导致touchID被锁,继续调用指纹解锁的话会弹出系统的密码输入框,输入正确之后可以继续验证指纹。但是在iOS10系统下面是不会弹出系统的密码输入框的,所以导致touchID一直被锁住。

LAPolicyDeviceOwnerAuthentication  

这个的使用需要iOS9以上,这个是指纹或数字密码验证,指纹验证失败2次之后会弹出系统的密码输入框,密码输入错误6次之后会和设备解锁失败一样锁定设备一段时间。

为了避免LAPolicyDeviceOwnerAuthenticationWithBiometrics在iOS10上的问题,我的处理方式是在iOS9以上使用LAPolicyDeviceOwnerAuthentication这种验证方式,不过相信苹果马上会解决这个问题的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容