Fixing "Missing Info.plist key" error when compiling Ionic for iOS

After another successful build submitting to iTunes Connect I suddenly received this strange error email from Apple:

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

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


After a quick search I found that in iOS 10 was a change after which all usage description Cocoa Keys which are shown when trying access privacy-sensitive data became mandatory.

So in my case it was not only NSCameraUsageDescription, but also NSPhotoLibraryUsageDescription, NSBluetoothPeripheralUsageDescription, NSLocationWhenInUseUsageDescription and NSLocationAlwaysUsageDescription.

To fix this problem will use edit-config option in Plugin.xml

<platform name="ios">
    <edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
        <string>Used to take pictures or videos if necessary</string>
    <edit-config file="*-Info.plist" mode="merge" target="NSPhotoLibraryUsageDescription">
        <string>Used to load pictures if necessary</string>
    <edit-config file="*-Info.plist" mode="merge" target="NSBluetoothPeripheralUsageDescription">
        <string>Used to communicate with beacons</string>
    <edit-config file="*-Info.plist" mode="merge" target="NSLocationWhenInUseUsageDescription">
        <string>Used to show your location on the map</string>
    <edit-config file="*-Info.plist" mode="merge" target="NSLocationAlwaysUsageDescription">
        <string>Used to trace your location</string>

You can find full list of key references at

Fork me on GitHub