iOS 生物识别配置

  • info.plist
NSFaceIDUsageDescription
  • LAPolicy
LAPolicyDeviceOwnerAuthenticationWithBiometrics  API_AVAILABLE(ios(8.0)...)
LAPolicyDeviceOwnerAuthentication                API_AVAILABLE(ios(9.0)...)
  • localizedFallbackTitle
1. 如果LAPolicy 设置的是LAPolicyDeviceOwnerAuthenticationWithBiometrics

   点击后将走失败回调 kLAErrorUserFallback

   当输入TouchID验证5次失败后,TouchID被锁定,只能通过锁屏后解锁设备时输入正确的解锁密码来解锁TouchID。

2. 如果LAPolicy 设置的是LAPolicyDeviceOwnerAuthentication

`TouchID`: localizedFallbackTitle 会在第一次指纹验证失败后出现, 点击后切换到密码解锁

   使用该设备的TouchID或设备密码进行验证,当输入TouchID验证3次失败后,会触发设备密码页面进行验证,
   此时点击取消可以继续进行TouchID验证,不过此次只有2次机会,验证失败后,TouchID被锁定,触发设备密码页面进行验证

`FaceID`: 

    第一次FaceID验证失败, 会多出 "再次尝试面容ID" 按钮 和 `localizedCancelTitle` 按钮, 
    第二次失败后, 会显示 `localizedFallbackTitle` 按钮

处理方案:

if ([UIDevice currentDevice].systemVersion.floatValue >= 9.0) {
    _authenticContext.localizedFallbackTitle = NSLocalizedStringFromTable(@"Biometricc_By_Password", @"Biometric", @"手动输入密码");
}
else {
    _authenticContext.localizedFallbackTitle = @"";
}

这样就可以在 iOS 8.x上避免显示localizedFallbackTitle按钮及它的处理

  • biometryType
This property is set when canEvaluatePolicy has been called for a biometric policy. 
The default value is LABiometryTypeNone.

你可能感兴趣的:(iOS 生物识别配置)