什么是NSFaceIDUsageDescription - 面部ID使用说明Info.plist键?

问题描述 投票:23回答:3

Xcode 9 GM中有一个新的隐私NSFaceIDUsageDescription Info.plist密钥,开发人员提供权限警报的使用说明。有人有关于文档的链接吗? Xcode中的plist视图总结为:

隐私 - 面部识别码使用说明

ios xcode ios11 xcode9 face-id
3个回答
37
投票

现在在上述论坛(由Apple员工)https://forums.developer.apple.com/message/265156进一步解释:

Face ID需要将一个使用字符串与密钥NSFaceIDUsageDescription(也称为Privacy - Face ID Usage Description)添加到您应用的Info.plist中。

在模拟器中,如果缺少该密钥,则Face ID权限警报将显示“此应用程序旨在使用Touch ID并且可能不完全支持Face ID”。在实际设备上,您的应用程序将崩溃,就像缺少任何其他所需的使用字符串一样。


3
投票

隐私 - 面部识别码使用说明(NSFaceIDUsageDescription)是字符串键,可让您描述应用使用面部识别码的原因。

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

注意:iOS 11及更高版本支持此密钥。

为iPhone-X设备引入了Face-Id身份验证,并且仅适用于iPhone-X(甚至没有模拟器)

使用Xcode 9.0.1和Xcode 9.2 beta - 似乎找到了工作

参考。链接到Apple Document - NSFaceIDUsageDescription 所有可用密钥列表 - Cocoa Keys


0
投票

当第一个TouchID警报显示时,我有用户报告应用程序崩溃。修复是在设备上测试并读取控制台(Xcode 9.4.1):

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

只需右键单击Info.plist根目录中的“添加行”并粘贴NSFaceIDUsageDescription并添加NSFaceIDUsageDescription,然后将其设置为YES。

模拟器不支持FaceID,因此如果您不向plist添加一个衬垫以支持FaceID验证,则会影响使用登录,钥匙串和TouchID的应用。用户将收到一条警告,要求他们默认允许FaceID登录您的应用,因此如果您已经为TouchID设置了,则不需要编码来支持FaceID。

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