cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Darryl Pogue (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CB-14108) <config-file> in config.xml increases config_munge count in ios.json and android.json.
Date Wed, 07 Nov 2018 19:05:00 GMT

     [ 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-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message