Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NSPhotoLibraryUsageDescription in Xcode8

Update:
I attempt to add a String value to the "NSPhotoLibraryUsageDescription" key.
enter image description here

And it works.My build version is now available on my TestFlight.

enter image description here ps: 构建版本 means Build Version

But I want to know why Apple Store just let me add String value for "NSPhotoLibraryUsageDescription" key rather than "Camera Usage Description" or "Location When In Use Usage Description"? And how to localize the info.plist.


Old:
I've uploaded many build versions to iTunes Connect.But TestFlight shows none of these build versions.
Then I search this issue on stackoverflow. And I know this is caused by usage description. I add the NSPhotoLibraryUsageDescription in my Info.plist. However, Apple Store team email and tell me that:

Dear developer,

We have discovered one or more issues with your recent delivery for "Family Health Tracker". To process your delivery, the following issues must be corrected:

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

They still tell me add NSPhotoLibraryUsageDescription

This is my Info.plist

like image 244
X.Jian Avatar asked Sep 11 '16 02:09

X.Jian


People also ask

What is info plist in Xcode?

Xcode supplies an information property list file when you create a project from a template, as described in Create a project. By default, Xcode names this file Info. plist and adds it to your project as a source file that you can edit. Xcode creates one information property list for each target in the project folder.


3 Answers

Localizing of info.plist file may be very unuseful, especially if you use many languages in your apps. The simplest way for localizing NSPhotoLibraryUsageDescription, NSLocationWhenInUseUsageDescriptionor NSCameraUsageDescription keys is to describe it in InfoPlist.strings file.

  • Create new *.strings file with name InfoPlist;
  • Press Localize... button in file inspector and choose the default language;
  • Add new records in your new InfoPlist.strings file. For example in English:

NSLocationWhenInUseUsageDescription = "Location usage description";

NSPhotoLibraryUsageDescription = "Photos usage description";

NSCameraUsageDescription = "Camera usage description";

For more information Apple docs

like image 164
CFIFok Avatar answered Sep 18 '22 14:09

CFIFok


Make sure that "NSPhotoLibraryUsageDescription" has value assigned before uploading the app to iTunesConnect.

enter image description here

like image 26
Viktor Malyi Avatar answered Sep 17 '22 14:09

Viktor Malyi


Simply add these lines to your info.plist file

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string> //For NSPhotoLibraryUsageDescription issue.
like image 35
Deepak Chaudhary Avatar answered Sep 17 '22 14:09

Deepak Chaudhary