What's difference between NSPhotoLibraryAddUsageDescription and NSPhotoLibraryUsageDescription? What's difference between NSPhotoLibraryAddUsageDescription and NSPhotoLibraryUsageDescription? ios ios

What's difference between NSPhotoLibraryAddUsageDescription and NSPhotoLibraryUsageDescription?


Simple get from Apple Official Document

Just click on above image for ZOOM and read it.

For more information on:


As I can see in the document, the difference between two is:

  • NSPhotoLibraryAddUsageDescription: You have permission to write only, no read.

  • NSPhotoLibraryUsageDescription: You can both read and write to Photos.

From Apple documentations for NSPhotoLibraryUsageDescription:

"Although this keys governs read and write access to the user’s photo library, it’s best to use NSPhotoLibraryAddUsageDescription if your app needs only to add assets to the library and does not need to read any assets."


To answer the last question on my own:

You need to declare both NSPhotoLibraryUsageDescription and NSPhotoLibraryAddUsageDescription to get it WORKS on both iOS 9, 10.3 and 11.

Technically it's different.I used to not declare NSPhotoLibraryUsageDescription, it works fine on iOS 9 and 11 but failed and crashed on iOS 10.3.

This is a really bad version controlling from Apple while higher version doesn't comply and support older version permission.