我正在尝试在我的 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/