LocalAuthentication在使用Face ID莫名的crash的解决方案

在iOS 13的版本使用LocalAuthentication进行人脸识别登录,调用这段代码的时候回莫名的crash,之后是断点到这段代码才知道,但是如果将

[context evaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics localizedReason:reasonMessage reply:^(BOOL success, NSError * _Nullable error) {
  ...
}

LAPolicyDeviceOwnerAuthenticationWithBiometrics变成 LAPolicyDeviceOwnerAuthentication不会crash,但是无法弹出人脸识别的窗口,之后弹出密码输入验证的窗口,貌似不是需求想要的。

解决方案:
NSFaceIDUsageDescription
使用FaceID需要在info.plist中增加NSFaceIDUsageDescription权限申请说明,这个跟定位、拍照等一样,首次执行这段代码就会有权限弹窗的按钮了,之后流程就是正常了

posted @ 2020-07-07 20:52  大卫的梦呓  阅读(426)  评论(1编辑  收藏  举报