什么是NSFaceIDUsageDescription - 面部识别用法描述Info.plist密钥?

时间:2017-09-19 20:41:31

标签: ios xcode ios11 xcode9 face-id

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

  

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

4 个答案:

答案 0 :(得分:37)

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

  

面部识别码需要使用密钥添加使用字符串   NSFaceIDUsageDescription(又名隐私 - 面部识别码使用说明)来   您应用的Info.plist。

     

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

答案 1 :(得分:7)

也许我稍后参加聚会,但是您可以通过添加此内容来解决此问题

<key>NSFaceIDUsageDescription</key>
<string>$(PRODUCT_NAME) Authentication with TouchId or FaceID</string>

Project-Info.plist

答案 2 :(得分:3)

  

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

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

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

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

使用Xcode 9.0.1&amp; Xcode 9.2 beta - 似乎找到了工作

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

答案 3 :(得分:0)

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

  

此应用程序已崩溃,因为它尝试访问没有使用说明的隐私敏感数据。该应用程序的Info.plist必须包含NSFaceIDUsageDescription密钥,该密钥具有字符串值,该字符串值向用户解释该应用程序如何使用此数据。

通过右键单击 NSFaceIDUsageDescription 并在Info.plist的根目录中添加“添加行”,然后粘贴NSFaceIDUsageDescription并将其设置为“是”即可。

模拟器将不支持FaceID,因此,如果您未在plist中添加一个衬纸来支持FaceID验证,则使用登录名,钥匙串和TouchID的应用程序将受到影响。用户将收到一条警报,要求他们默认情况下允许FaceID登录到您的应用程序,因此如果您已经为TouchID进行了设置,则无需编码即可支持FaceID。