LAPolicy 区别
LAPolicyDeviceOwnerAuthenticationWithBiometrics 和 LAPolicyDeviceOwnerAuthentication
参考:http://www.jianshu.com/p/22b1458d4559(iOS指纹/密码鉴定)
实际测试发现:
- LAPolicyDeviceOwnerAuthenticationWithBiometrics 模式,指纹验证失败次数达到上限,会导致设备指纹验证被锁,不能再使用指纹验证,通过取设置里面,查看TouchID,输入一次设备密码,就可以解锁,继续可以使用指纹验证
- LAPolicyDeviceOwnerAuthentication 模式,指纹验证失败次数达到上限会自动显示输入手机设备密码页面,让用户解锁,再次连续失败,会提示一定时间后再尝试,默认1分钟,也可能是5分钟,详见API说明
maxBiometryFailures
实际测试:
maxBiometryFailures 默认验证3次,设为4次不管用,最大上限还是错3次
设为1次有效。
例如:
LAContext *context = [[LAContext alloc] init];
context.maxBiometryFailures = @1;
evaluatedPolicyDomainState
LAContext 初始化以后并不能直接获取
调用一下判断是否支持的api 或者验证api,在api返回结果后,可以取到,否则取到的是nil
实际测试 NSData 大小为32字节
例 nslog输出如下:
// 第一次获取
<91e8ac35 1e9d7a59 f01e85c4 289d2f38 3e287151 dd57121e 6c1bfcc1 55a80fd9>
// 去指纹设置里删除一个指纹后再次获取
<4cce1d01 95fc2398 d9e9e6c0 73d50806 e02482d6 69f72719 6672a6fe 3dd8f7f8>
touchIDAuthenticationAllowableReuseDuration
TODO:待实际测试
LACredentialType
相关api和使用
TODO:待实际测试
其他参考:
这篇文章 http://blog.csdn.net/zzzzzdddddxxxxx/article/details/53513909 总结很全,其中包括 指纹验证的 Window级别,applicationWillResignActive 回调触发等