[ https://issues.apache.org/jira/browse/CB-14108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Darryl Pogue resolved CB-14108. ------------------------------- Resolution: Fixed Fix Version/s: (was: Master) cordova-common@3.0.0 > <config-file> in config.xml increases config_munge count in ios.json and > android.json. > -------------------------------------------------------------------------------------- > > Key: CB-14108 > URL: https://issues.apache.org/jira/browse/CB-14108 > Project: Apache Cordova > Issue Type: Bug > Components: cordova-common, cordova-lib > Affects Versions: 8.0.0 > Reporter: Ken Naito > Priority: Major > Fix For: cordova-common@3.0.0 > > > On both iOS and Android platforms, using <config-file> causes duplication in > the `ios.json` and `android.json` files, which could lead to extremely large > file sizes (and possibly unexpected behaviour?). > For a Cordova 7.1/8.0 application, add the following to config.xml: > > {code:java} > <platform name="ios"> > <allow-intent href="itms:*" /> > <allow-intent href="itms-apps:*" /> > <config-file parent="NSCameraUsageDescription" target="*-Info.plist"> > <string>Please permit Camera!</string> > </config-file> > </platform> > {code} > Now run `cordova prepare`. The file `platforms/ios/ios.json` now contains the > below. Note the count is 1. > > {code:java} > "config_munge": { > "files": { > "*-Info.plist": { > "parents": { > "NSCameraUsageDescription": [ > { > "xml": "<string>Please permit Camera!</string>", > "count": 1 > } > ] > } > } > } > }, > {code} > Run `cordova prepare` again. The platforms/ios/ios.json changes, increasing > the count to 2. > > {code:java} > "config_munge": { > "files": { > "*-Info.plist": { > "parents": { > "NSCameraUsageDescription": [ > { > "xml": "<string>Please permit Camera!</string>", > "count": 2 > } > ] > } > } > } > }, > {code} > Furthermore, if we change the text inside the `<string>` in the `config.xml`: > {code:java} > <platform name="ios"> > <allow-intent href="itms:*" /> > <allow-intent href="itms-apps:*" /> > <config-file parent="NSCameraUsageDescription" target="*-Info.plist"> > <string>This app uses Camera!</string> > </config-file> > </platform> > {code} > Then after running `cordova prepare`, there is now a second entry in > `platforms/ios/ios.json`, rather than replacing the existing entry. > > {code:java} > "config_munge": { > "files": { > "*-Info.plist": { > "parents": { > "NSCameraUsageDescription": [ > { > "xml": "<string>Please permit Camera!</string>", > "count": 2 > }, > { > "xml": "<string>This app uses Camera!</string>", > "count": 1 > } > ] > } > } > } > }, > {code} > This behaviour is the same for Android, and can be reproduced in the same > way, by adding something like the below to `config.xml`: > {code:java} > <platform name="android"> > <allow-intent href="market:*" /> > <config-file parent="/manifest" target="AndroidManifest.xml"> > <uses-permission android:name="android.permission.VIBRATE" /> > </config-file> > </platform> > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org