Как проверить, поддерживает ли устройство FaceID или TouchID, особенно если пользователь не зарегистрировал TouchID или FacecID, я всегда получал biometryType как null, если пользователь не зарегистрировал touchID или faceID.
LAContext *authenContext = [[LAContext alloc]init];
NSError *error;
[authenContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&error];
if (!error) {
if (@available(iOS 11, *)) {
switch (authenContext.biometryType) {
case LABiometryNone:
trace(@"LABiometryNone");
case LABiometryTypeTouchID:
trace(@"LABiometryTypeTouchID");
case LABiometryTypeFaceID:
trace(@"LABiometryTypeFaceID");
default:
break;
}
}
}else{
if (error.code == LAErrorTouchIDNotEnrolled || error.code == LAErrorPasscodeNotSet) {
trace(@"Not sure touchID or FaceID available");
}
}