React Native:iOS 18 上的 FaceID 未调用提示

问题描述 投票:0回答:1

面临着相当新的问题,不幸的是死库react-native-biometrics(与

react-native-touch-id
相同的结果)。

在 iOS 17.4 FaceID 按预期工作,我调用提示,应用程序正在等待 FaceId 验证。

在 iOS 18 上,我在控制台中收到错误。我看到提示 UI 大约一毫秒,它消失了,并且立即被评估为未提供生物识别信息。

Error Domain=com.apple.LocalAuthentication Code=-1000 "UI service connection invalidated."
UserInfo={NSDebugDescription=UI service connection invalidated., NSLocalizedDescription=Authentication failed.}

此错误可能是由于新的模拟器错误所致,在真实设备上用户无法通过 FaceID 登录。

这里我得到密钥不存在或已被删除

rnBiometrics.biometricKeysExist().then((resultObject) => {
    const { keysExist } = resultObject;

    if (keysExist) {
      console.log('Keys exist');
    } else {
      console.log('Keys do not exist or were deleted');
    }
  });

这是我的简单提示电话

const rnBiometrics = new ReactNativeBiometrics();
try {
    const { success, error } = await rnBiometrics.simplePrompt({
      promptMessage: 'Confirm fingerprint',
      cancelButtonText: 'Cancel',
    });

    if (success) {
      Logger.log('Successful biometrics provided');
    }
    if (error) {
      Logger.log(`Biometrics prompt error: ${error}`);
    }

    return success;
  } catch (e) {
    Logger.error('Biometrics prompt failed with exception: ', e);
    return false;
  }

有人遇到同样的情况吗?

react-native face-id ios18 react-native-keychain
1个回答
0
投票

通过反复试验,我切换到不同的 iPhone 模拟器,例如 iPhone 16 Pro -> iPhone 11 Pro Max,来来回回,我能够让模拟器工作

again

© www.soinside.com 2019 - 2024. All rights reserved.