【问题标题】:Missing Purpose String in Info.plist for Photo accessInfo.plist 中缺少用于照片访问的目的字符串
【发布时间】:2020-04-08 16:23:21
【问题描述】:

我在将我的应用提交到商店时收到此响应。

*ITMS-90683:Info.plist 中缺少目的字符串 - 您的应用代码引用了一个或多个访问敏感用户数据的 API。应用的 Info.plist 文件应该包含一个 NSPhotoLibraryUsageDescription 键和一个面向用户的目的字符串,清楚而完整地解释为什么你的应用需要数据。从 2019 年春季开始,所有提交到 App Store 并访问用户数据的应用程序都必须包含目的字符串。如果您使用的是外部库或 SDK,它们可能会引用需要目的字符串的 API。虽然您的应用可能不使用这些 API,但仍需要使用目的字符串。您可以联系库或 SDK 的开发人员,并要求他们发布不包含 API 的代码版本。

下图显示了我在 info.plist 文件中的内容。我不明白问题出在哪里?

【问题讨论】:

  • 右键点击plist文件。显示源代码,你会看到你有哪些。此外,您可以在 plist 模式下添加一个新密钥,然后复制/粘贴该密钥,您会看到它是不同的“人类可编辑版本”:“NSPhotoLibraryAddUsageDescription”和“Privacy”的“Privacy - Photo Library Additions Usage Description” - “NSPhotoLibraryUsageDescription”的照片库使用说明

标签: ios objective-c xcode


【解决方案1】:

您已将 NSPhotoLibraryAddUsageDescription 密钥添加到您的 plist 文件中。至少这就是你的屏幕截图所说的。 NSPhotoLibraryAddUsageDescription 是对照片应用程序的只写访问权限。另一方面,如果您想请求对照片应用程序的读取或写入权限,请使用此密钥:NSPhotoLibraryUsageDescription

以下是在 Xcode 上作为属性列表文件查看时 Info.plist 中两个键的屏幕截图:

第一个是NSPhotoLibraryAddUsageDescription,第二个是NSPhotoLibraryUsageDescription 键。

因此,如果您有任何代码(或库)试图从照片库中读取,则需要添加 NSPhotoLibraryUsageDescription 键。

【讨论】:

  • 我正在开发一个在 Xcode 10 和 11 上的模拟器中运行的应用程序,甚至可能之前已经提交过 TestFlight,但大约在 Xcode 11 / iOS 14 左右,似乎 App Store 提交需要这个NSPhotoLibraryUsageDescription,即使您的应用程序的访问权限更加有限并且不需要这个“目的字符串”。
猜你喜欢
  • 2020-12-09
  • 2020-12-18
  • 2019-10-21
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
  • 2020-10-25
  • 2023-02-01
  • 2020-04-23
相关资源
最近更新 更多