I'm using v7.2 of the Mobile SDK included with the forcereact npm project. When submitting the app to Salesforce I'm getting 3 failures. Something is using NSPhotoLibrary, NSLocationAlways, and NSLocationWhenInUse. Apple requires a user-facing purpose string for these in the submission. Are these messages valid? I couldn't find a reference in the SDK github project. If so, what are they being used for?

1 Answer 1


As per Apple Guide Rules, If your app uses Location, Photo Library or Any other Private services, You need to specify usage description string in your info.plist file.
It might also possible that you are not using these functionalities directly from your side but some SDK uses it.
Here is what you need to add in your info.plist file.

<key>NSPhotoLibraryUsageDescription</key> //NSPhotoLibrary
<string>This app requires access to the photo library.</string>
<key>NSLocationUsageDescription</key> //NSLocationWhenInUse
<string>My description about why I need this capability</string>
<key>NSLocationAlwaysUsageDescription</key> //NSLocationAlways
<string>My description about why I need this capability</string>

You can have more detailed Key description from this Answer.

Note: Please specify valid description of why your app needs to use key you are specifying otherwise Apple can again reject your app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.