We have also changed how usage descriptions work in the following plugins: cordova-plugin-camera, cordova-plugin-contacts, cordova-plugin-media, cordova-plugin-geolocation, and cordova-plugin-media-capture. Usage descriptions are required for iOS applications accessing certain apis. Apple wants to know why your app needs certain permissions. We now recommend you add the usage description to your app via edit-config tag. View the iOS Quirks section of the plugin documentation to see an example of how to use it. Here is the example for cordova-plugin-camera.
Since iOS 10 it’s mandatory to provide an usage description in the info.plist if trying to access privacy-sensitive data. When the system prompts the user to allow access, this usage description string will displayed as part of the permission dialog box, but if you didn’t provide the usage description, the app will crash before showing the dialog. Also, Apple will reject apps that access private data but don’t provide an usage description.
Does that mean that my current app in store is currently freaky crashing on most devices or is that just a warning for upgrade, meaning that from now on I should not forget to provide a description?
It’s me or they forget the internationalization respectively it’s only possible to provide one sting aka one language for the description?
Before it was done one way, with the new verions of the plugins it is done in another way (edit-config).
This is indeed an unsolved problem with Cordova I think. You might want to open an issue at issues.cordova.io about that and see what you get as an answer. (Thought about that myself a few times, but never enough to go ahead and open that issue)
(Not a new problem, always was the case by the way)
@Sujan12 hey you know what, just noticed now, with previous version of cordova plugins geolocation or camera, the msg wasn’t internationalized neither, don’t know why I thought i was, I probably never paid enough attention I guess
for example with cordova-plugin-geolocation 2.4.3 it sais (phone in German):
Darf “meine App” auf deinen Standort zugreifen, wenn du die App verwendest?
This app requires access to your location when the screen is on and the app is displayed.
Nicht erlauben
Erlauben
“meine App” möchte auf deine Kamera zugreifen
This app requires camera access to function properly.
Ok
Nicht erlauben
You probably knew it but for me it’s almost a mind blowing LOL
So it means, I could upgrade, don’t have to wait for the improvements, since it’s not gonna be a regression
For the record, cordova doesn’t support yet internationalization, therefore they could not yet implement it, for that reason, the issue was close. In the future, once internationalization implemented, something in that direction may comes. Task was set as not fixed https://issues.apache.org/jira/browse/CB-13575
As workaround they propose to write my/your own hooks in the meantime