Getting an error while submitting ios app. ( ios10 )


#1

Dear developer,

We have discovered one or more issues with your recent delivery for “App”. 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 NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.

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

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.

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

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSMicrophoneUsageDescription 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.

Help needed

Thanks


#2

My app is only using camera, and gps location, nothing else.


#3

You have to add for each service (Location, Camera etc) the key and description to your app’s Info.plist to be compliant with the App Store privacy policy:

NSPhotoLibraryUsageDescription
Advertisement would like to store a photo.

Here the full list of keys: https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html


#4

Hey @pfrancesco, I’m also having this problem, I tried to add the cocoa key on the info list directly in the compiled project in xcode but it didn’t work. Is there another way to do that?


#5

@willianmenegali and @mujtaba1 for the camera install the plugin like:

ionic plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION=“description” --variable PHOTOLIBRARY_USAGE_DESCRIPTION=“description”

This will add NSCameraUsageDescription and NSPhotoLibraryUsageDescriptionentry to the plist. Source cordova-plugin-camera


#6

@valter_santos_matos thanks for the tip Valter, although I tried that, it didn’t work, for some reason my CLI wasn’t getting the variables when I reinstalled (tried it several times).
So what I did was remove the iOS platform from my project, remove the plugin, reinstall the iOS platform and then reinstalled the plugin. Then I went to the plugin.xml file inside cordova-plugin-camera and changed the permissions there, that worked!


#7

What worked for me is first removing ios platform, then remove each of the cordova plugins, re-add ios platform, re-add each cordova plugin, build ios, then you will see the variable name and values in the config.xml. Update those and it should work.


#8

before you uninstall the plugins and redo all that. simply go to config.xml and add the description like this:

<variable name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="App would like to access the library." /> <variable name="PHOTO_LIBRARY_USAGE_DESCRIPTION" value="App would like to access the library." />

source: https://stackoverflow.com/questions/43132305/ionic-ios-app-store-upload-error-nsphotolibraryusagedescription-key


#9

On which location i can get that file?