应用的 Info.plist 必须包含一个 NSContactsUsageDescription 键

Posted

技术标签:

【中文标题】应用的 Info.plist 必须包含一个 NSContactsUsageDescription 键【英文标题】:The app's Info.plist must contain an NSContactsUsageDescription key 【发布时间】:2018-05-18 12:24:58 【问题描述】:

我在下面遇到崩溃:

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

但我已经添加了“隐私 - 联系人使用说明”键

【问题讨论】:

您是否尝试清理并构建您的项目? 我在一个新项目中遇到了这个问题。创建项目时我没有得到 Info.plist 并添加它似乎没有什么区别。清洁也不行。 【参考方案1】:

请检查您的 .plist 作为源代码,看看您的密钥是否在末尾不包含空格,例如:

<key>NSContactsUsageDescription </key>

【讨论】:

我在一个新项目中遇到了这个问题。这不是我的问题。【参考方案2】:

可能是您不小心将密钥添加到了 UITests 目标。我已经用位置隐私密钥做了几次。

顺便说一句,您的联系人使用说明“允许联系人访问”可能不会通过 Apple 的审核,因为它没有说明为什么您要使用它们。

【讨论】:

【参考方案3】:

如果您正在使用 App test 和 App UItest,那么您的项目中会有多个 plist 文件,只需确保您在正确的情况下添加描述 plist

【讨论】:

【参考方案4】:

转到 info.plist 和

隐私 - 联系人使用说明

值:允许联系人访问以获取详细信息

enter image description here

【讨论】:

【参考方案5】:

我遇到了这个问题。新项目中没有 Info.plist 并且添加它没有任何作用。

解决方案:

点击项目 选择Info标签 您可以在此处添加内容!

【讨论】:

以上是关于应用的 Info.plist 必须包含一个 NSContactsUsageDescription 键的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用提交 - 存档不包含 info.plist

Phonegap - 包中的 Info.plist 必须包含 CFBundleVersion 键

应用程序的 Info.plist 文件应包含一个 NSBluetoothAlwaysUsageDescription 键,而该键位于 plist 文件中

NSHealthShareUsageDescription 必须在应用程序的 Info.plist 中设置才能请求读取授权

Info.plist 中 CFBundleDocumentTypes 键的值必须是字典数组

Info.plist 上传错误中的 CFBundleVersion