UIActivityViewController 是否需要 info.plist 隐私密钥才能将图像保存到照片或电子邮件

Cli*_*udo 2 privacy info.plist ios uiactivityviewcontroller ios10

UIActivityViewController是否需要Info.plist隐私密钥: NSContactsUsageDescriptionNSPhotoLibraryUsageDescription通过电子邮件发送或将图像保存到照片库?

我从未见过它在测试中的这些活动期间崩溃,但我在 iOS 10 设备上看到了一些崩溃报告(数量不多),堆栈跟踪中包含CRASHING_DUE_TO_PRIVACY_VIOLATION 。该应用程序唯一涉及隐私的地方是用户使用我通过 UIActivityViewController 活动提供的功能通过电子邮件共享屏幕截图或将其保存到照片库。这是苹果提供的框架,据我所知,我的应用程序无法实际访问任何数据?!

的文档UIActivityViewController没有说明在这些类型的活动期间需要这些字符串来访问联系人或照片库。

Cli*_*udo 5

如果 UIActivityViewController 允许 Activity: UIActivityTypeSaveToCameraRoll,则需要在 info.plist 中设置NSPhotoLibraryUsageDescription

这并没有显示为崩溃,因为如果用户登录 iCloud 并使用共享到照片流,在没有隐私密钥的情况下似乎可以正常工作,但是当使用其他不太突出的选项“保存到相机胶卷”时,就会崩溃没有钥匙。

您可能认为他们会在文档中提到这一点;)