“应用程序的 Info.plist 必须包含 NSPhotoLibraryAddUsageDescription”的崩溃是什么?

问题描述 投票:0回答:3

我遇到以下错误(iOS 11):

此应用程序已崩溃,因为它尝试访问隐私敏感信息 没有使用说明的数据。 应用程序的 Info.plist 必须包含 带有字符串值的

NSPhotoLibraryAddUsageDescription
键 向用户解释应用程序如何使用这些数据。

请注意,虽然应用程序 info.plist 确实包含

NSPhotoLibraryUsageDescription
但它仍然崩溃,为什么?

ios permissions ios11
3个回答
91
投票

请注意,虽然应用程序 info.plist 确实包含

NSPhotoLibraryUsageDescription
还是崩溃,为什么?

我认为比较

NSPhotoLibraryUsageDescription
NSPhotoLibraryAddUsageDescription
时存在误解,如信息属性列表键参考中所述:

NSPhotoLibrary使用说明:

此键可让您描述您的应用程序访问用户的原因 照片库。当系统提示用户允许访问时, 字符串显示为警报的一部分。

这与让应用程序能够访问(获取)设备照片库有关。

NSPhotoLibrary添加使用说明:

此键可让您描述应用程序寻求只写访问权限的原因 到用户的照片库。当系统提示用户允许时 访问,该字符串将显示为警报的一部分。

它与让应用程序能够将照片写入(添加)到设备照片库中有关。


显然,要解决此崩溃,您必须将

NSPhotoLibraryAddUsageDescription
添加到应用程序的 plist 文件中:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Our application needs permission to write photos...</string>

作为属性列表视图:

enter image description here


2
投票

上面的答案有一个错字。正确的plist条目应该如下

<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) needs permission to access photos on your device</string>

0
投票

您可以在 info.plist 中添加 NSPhotoLibraryUsageDescription 。希望这能解决您的崩溃问题。

© www.soinside.com 2019 - 2024. All rights reserved.