Xcode 9 GM中有一个新的隐私NSFaceIDUsageDescription
Info.plist密钥,其中开发人员提供权限警报的使用说明。有人有关于文档的链接吗? Xcode中的plist视图总结为:
隐私 - 面部识别码使用说明
答案 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。