在ios10指纹验证错误过多会报错,然后不会弹出系统密码输入界面:
- 打印error.code,是:-8
- 打印error.localizedDescription,是:Biometry is locked out
上网查到ios9以前会弹出系统密码输入界面。
ios10及以后呢?
ios9以前这样写:
//是否支持touchid
[_context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]
//验证指纹是否匹配
[_context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:@"通过home键验证已有指纹" reply:^(BOOL success, NSError * _Nullable error) {}
IOS10上只需把上面两个地方的 LAPolicyDeviceOwnerAuthenticationWithBiometrics
换成
LAPolicyDeviceOwnerAuthentication
即可。
ios10这样写
//是否支持touchid
[_context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error]
//报错码为-8时,调用此方法会弹出系统密码输入界面
[_context evaluatePolicy:LAPolicyDeviceOwnerAuthentication localizedReason:@"指纹验证错误次数过多,请输入密码" reply:^(BOOL success, NSError * _Nullable error){
当然为了适配ios8,9,10可以在适当的时候,做适当的操作。