After recent changes Apple requires specific keys if your app attempts to access privacy-sensitive data. So I added NSCameraUsageDescription key in my config.xml like this:
<platform name="ios"> <config-file parent="NSCameraUsageDescription" target="*-Info.plist"> <string>We are using a camera to </string> </config-file> </platform>
Then
cordova build ios --release --device
produces the ipa which apparently doesn't have the right info in info.plist. It feels like I'm missing something.
Question 1: What do I need to put into config.xml to solve NSCameraUsageDescription issue? Question 2: Is it possible to use localization for this string?
Thank you!
NEW ANSWER:
Since Cordova CLI 6.5.0 you can write in the info.plist
directly by using the edit-config
tag in the config.xml
like this:
<string>your usage message</string> </edit-config>
But make sure you are using latest version of the plugins or values might be overwritten by the plugin variables.
For localizations you can use the resource-file
tag and InfoPlist.strings files like in this plugin (but you don't need the plugin, resource-file tag is supported from the config.xml)
https://github.com/MBuchalik/cordova-plugin-ios-permissions
OLD ANSWER:
You can't write on the info.plist
from the config.xml
using the config-file
tag yet (it's being worked on)
Latest version of the camera plugin allows you to add the NSCameraUsageDescription
when you install the plugin
cordova plugin add cordova-plugin-camera --variable CAMERA_USAGE_DESCRIPTION="your usage message"
Right now it's not possible to localize this string
Here are results of my own research:
Please, correct me if I wrong. More info on the localization directly from config.xml is appreciated.
Personally, I don't like the idea to use a custom plugin to modify an info.plist file. It feels like with every new plugin I use make my app more and more fragile. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With