我们可以在 info.plist 中为键 NSPhotoLibraryAddUsageDescription 保留描述为空吗?

Posted

技术标签:

【中文标题】我们可以在 info.plist 中为键 NSPhotoLibraryAddUsageDescription 保留描述为空吗?【英文标题】:Can we keep description empty in info.plist for key NSPhotoLibraryAddUsageDescription? 【发布时间】:2017-09-19 03:47:35 【问题描述】:

在 info.plist 中添加 NSPhotoLibraryAddUsageDescription 键以避免崩溃问题时,我们可以将描述保留为空吗?

因为原生弹窗描述似乎也是相关信息,所以我不想再添加更多的文字。

Apple 会允许这样做吗?

【问题讨论】:

【参考方案1】:

来自documentation(强调我的):

重要提示:为保护用户隐私,在 ios 10.0 或之后链接的 iOS 应用程序以及访问用户照片库的应用程序必须静态声明这样做的意图。在应用的 Info.plist 文件中包含 NSPhotoLibraryAddUsageDescription 键(在 iOS 11 上或之后链接的应用中)或 NSPhotoLibraryUsageDescription 键,并为该键提供用途字符串。 如果您的应用尝试在没有相应用途字符串的情况下访问用户的照片库,您的应用将退出。

换句话说,不,您必须说明您需要访问照片库的原因。否则,iOS 会杀死你的应用

【讨论】:

【参考方案2】:

使用说明将在 App Permission Alert 中显示为一条消息,每当首次使用 Camera/Photo/Contacts 时都会向用户显示。

从 iOS 11.x 开始,我们必须提供使用说明。否则 Apple 将拒绝应用提交。

当您错过使用说明时,这是来自 Apple 的消息: “缺少 Info.plist 键 - 此应用尝试在没有使用说明的情况下访问隐私敏感数据。应用的 Info.plist 必须包含一个 NSCameraUsageDescription 键和一个字符串值说明向用户展示应用如何使用这些数据。”

【讨论】:

以上是关于我们可以在 info.plist 中为键 NSPhotoLibraryAddUsageDescription 保留描述为空吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 info.plist 文件中为特定游戏关卡中保存的颜色设置创建条目?

你可以在 Xcode 的构建阶段更改运行脚本中的 info.plist 吗?

如何在 GraphQL 中为键值定义枚举

swift3.0怎么获取info.plist文件里的属性值

如何在 NSDictionary 中为键和对象添加数组

iOS Today Extension 能否从应用的 Info.plist 中读取 URL 方案