0

没有添加与 FaceID 检测相关的功能。我没有添加

LocalAuthentication.framework

在我的应用程序中。我正在为我的应用程序使用密码进行用户身份验证。我的一位客户使用 faceID 解锁屏幕,报告了一个问题,即使用 faceID 应用程序解锁屏幕后崩溃。

我在模拟器中检查了这个问题,因为我没有 iPhone X。我按照以下步骤重现问题。

硬件 -> FaceID -> 已注册。

我得到了以下登录控制台。

此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSFaceIDUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据。

正如我之前提到的,我还没有实现任何代码来检测 faceID 那么为什么我会遇到上述问题?

4

1 回答 1

1

如果缺少FaceIdUsageDescription,您的应用程序只会在实际设备上崩溃。

我建议您将FaceIdUsageDescription添加到 plist,因为LocalAuthentication.framework将自动使用 FaceID 进行身份验证,如果设备支持它并且您的应用程序支持生物识别(甚至 TouchID)。

人脸识别隐私政策

我已经在 AppStore 上看到了已经发布的银行应用程序的这些问题。将隐私政策添加到 plist 就可以了。

重要提示:为了保护用户隐私,在 iOS 11 上或之后链接并且在硬件支持的情况下将访问 Face ID 的 iOS 应用程序必须静态声明这样做的意图。在应用的 Info.plist 文件中包含 NSFaceIDUsageDescription 键,并为此键提供用途字符串。如果您的应用尝试在没有相应目的字符串的情况下访问 Face ID,您的应用可能会退出。iOS 11 及更高版本支持此密钥。

文档参考

于 2019-04-05T09:29:38.583 回答