MariiaZ MariiaZ - 3 months ago 83
iOS Question

iOS app (MobileFirst) is rejected by Apple (NSPhotoLibraryUsageDescription)

Our hybrid mobile app for iOS (that is developed with MobileFirst 7.1) was rejected recently by Apple:

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.

However, the app does not use Photo Library. So, the issue should come from one of the libraries we use. Besides CordovaLib (that comes with MobileFirst), we use email-composer (cordova-plugin-email-composer), PushPlugin ( and barcodescanner ( Barcodescanner requires camera access (the key was included to Info.plist before submission), but not photo library access. For the other two plugins there is no information on their web pages about iOS 10 and their use cases is too far away from Photo Library.

So, the questions are:

  • can cordovaLib cause such an issue? (MobileFirst)

  • is camera access somehow connected to photo library? (e.g. camera usage implicitly needs access to photo library)

  • how to check what exactly causes such issues? Is there a tool that can tell in advance that using of some class will cause issues with privacy settings?

P.S. I know that I can just add NSPhotoLibraryUsageDescription key to Info.plist, but thats not what I want: the app does not need photo library and I don't want to add such a key.
Can not post a link to email-composer due to stack overflow restrictions.


So, it is the answer: embedded Cordova plugins that comes with MobileFirst caused problems. Submission to TestFlight without barcodescanner but with these plugins failed with the same issue. Removing embedded plugins solved the problem and submission was accepted.

P.S. It is not clear why there were only problems with Photo Library and not with Contacts, for example, but anyway it worked.