NSPhotoLibraryAddUsageDescription和NSPhotoLibraryUsageDescription有什么区别?

Tom*_*yer 31 permissions ios ios11

我的应用程序今天在Xcode9上进行更新时崩溃,在iOS11上进行测试.添加NSPhotoLibraryAddUsageDescription后,它工作,即使我已经有NSPhotoLibraryUsageDescription.

我读过他们,一个支持自iOS6,一个iOS11,但Apple没有提到他们之间的区别. https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW73

如果我保留新的(NSPhotoLibraryAddUsageDescription),它是否适用于iOS 8,或者我必须保留它们两个?

Gov*_*iyo 28

简单来自Apple官方文档

只需点击上面的图像即可获得ZOOM并阅读.

有关的更多信息:

  • 我读过它,它没有说什么,请回答我上面的问题.两者都提供读写访问权限,它们之间有什么差异,我应该保留哪一个以获得ios版本支持 (4认同)
  • 从 iOS 6 开始,“NSPhotoLibraryUsageDescription”也可以做到这一点。“虽然这个键控制对用户照片库的读写访问,” (2认同)

Tie*_*ien 9

正如我在文档中看到的,两者之间的区别是:

  • NSPhotoLibraryAddUsageDescription:您只能写入,不能读取.

  • NSPhotoLibraryUsageDescription:您可以读取和写入照片.

来自NSPhotoLibraryUsageDescription的Apple文档:

"虽然这些密钥管理对用户照片库的读写访问权限,但如果您的应用只需要向资源库添加资产而不需要读取任何资产,则最好使用NSPhotoLibraryAddUsageDescription. "

  • 目前还不清楚如何触发"NSPhotoLibraryAddUsageDescription"的对话框 - 然而它没有它肯定会崩溃的应用程序. (2认同)
  • PHPhotoLibrary.requestAuthorization()将询问您NSPhotoLibraryUsageDescription。如果拒绝该对话框并调用UIImageWriteToSavedPhotosAlbum,则将显示NSPhotoLibraryAddUsageDescription对话框。 (2认同)
  • 那么您调用什么方法来检查调用“UIImageWriteToSavedPhotosAlbum”是否安全? (2认同)

Tom*_*yer 5

我自己回答最后一个问题:

您需要同时声明两者NSPhotoLibraryUsageDescriptionNSPhotoLibraryAddUsageDescription在iOS 9、10.3和11上都可以使用它。

从技术上讲,这是不同的。我以前没有声明过NSPhotoLibraryUsageDescription,它在iOS 9和11上运行良好,但在iOS 10.3上失败并崩溃了。

这是从Apple控制的一个非常糟糕的版本,而更高版本不符合并且不支持旧版本许可。