You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/09/05 09:46:00 UTC

[jira] [Commented] (CB-14108) in config.xml increases config_munge count in ios.json and android.json.

    [ https://issues.apache.org/jira/browse/CB-14108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16604197#comment-16604197 ] 

ASF GitHub Bot commented on CB-14108:
-------------------------------------

janpio commented on issue #24: CB-14108:
URL: https://github.com/apache/cordova-common/pull/24#issuecomment-418669373
 
 
   @knight9999 Could you please summarize your changes in the PR title? Thanks.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> <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: Master
>
>
> 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