|Mobile development type||Hybrid (Apache Cordova app)|
|Apache Cordova framework version||6.4.0|
You have set the target Apache Cordova version of your app to 6.4.0. After publishing the app is rejected and/or is crashing due to missing
Info.plist key, for example,
Your app is using Apache Cordova plugins that require usage description text for iOS API access (eg. Camera, Capture, QR Scanner, Contacts, etc.)
The app may be rejected with the message -
Missing Info.plist key - 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.
Your app may crash with -
<Error>: This app has crashed because it attempted 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.
In the error messages above you may receive the name of another key like
NSBluetoothPeripheralUsageDescription and other, depending of the resources your app needs to use.
The required usage description text is not added to the
Info.plist file (even though you may have added it manually by editing the file).
You have to add the usage description text by setting a plugin variable for each plugin that requires access to the given device API. See the Notes section if a plugin doesn't have a dedicated variable.
- Locate the plugins your app is using and that may require access to the camera, photo library, contacts, etc.
- Set the dedicated plugin variable as explained here
- Remove any manually added description strings for the same purpose (if any) from the
- Re-build the app
- Publish again the app
In case a plugin which you are using in your app does not have a dedicated variable (and you are receiving the error), consider adding the key value pair to the
info.plist manually as explained here.
<?xml version="1.0" encoding="UTF-8"?> <plist version="1.0"> <dict> <!-- Other keys omitted for brevity --> <key>NSBluetoothPeripheralUsageDescription</key> <string>My awesome app is using Bluetooth technology to ...</string> <!-- Other keys omitted for brevity --> </dict> </plist>