react-native - Expo React Native - FaceID 在 Expo Client 中不可用

标签 react-native expo face-id

我正在尝试在我的 React Native 项目中实现 Face ID。

...
import * as LocalAuthentication from 'expo-local-authentication';
...

componentDidMount = async () => {
    const hasAuth = await LocalAuthentication.hasHardwareAsync();
    if(hasAuth)
      LocalAuthentication.authenticateAsync();
}
...

当我使用我的手机在 expo expo-start 中运行它时,它会打开 iPhone 页面,要求输入密码(不是 faceID)。输入密码后,它会返回下面的警告消息,并且 Face ID 不起作用。

FaceID is not available in Expo Client. You can use it in a standalone Expo app by providing `NSFaceIDUsageDescription`

我还将 NSFaceIDUsageDescription 添加到我的 app.json 中。

"infoPlist": {
        "NSFaceIDUsageDescription": "This app will optionally use Face ID or Touch ID to save login"
      }

最佳答案

Expo Local Authentication FaceID 不适用于 expo 客户端应用程序,但您可以测试它为 IOS 构建存档 IPA。 expo build:ios -t archive。它将为 IOS 创建一个构建,然后您可以对其进行测试。

关于react-native - Expo React Native - FaceID 在 Expo Client 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63117856/

相关文章:

ReactJS:AnimationValue.interpolate for sin 和 cos

javascript - Icon 和 TextInput 未显示在同一行

javascript - 最大调用堆栈大小超过了返回的组件数组

reactjs - 在 React Native 中正确使用 onChangeText

ios - React-Native - 将应用程序发送到 iPhone 进行测试的最佳方式

node.js - 方案中的双斜线而不是三重斜线

react-native - 即使部署了新代码,Expo 仍使用旧代码

ios - iOS TrueDepth框架指向点云

ios - 按钮和标签在segue后消失

ios - 从后台返回时使用 FaceID 或 TouchID 对登录用户进行身份验证