You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Craig Payne (JIRA)" <ji...@apache.org> on 2014/06/02 06:41:01 UTC

[jira] [Created] (CB-6845) Prepare step adds duplicate preferences to iOS Platform's config.xml file for some plugins

Craig Payne created CB-6845:
-------------------------------

             Summary: Prepare step adds duplicate preferences to iOS Platform's config.xml file for some plugins
                 Key: CB-6845
                 URL: https://issues.apache.org/jira/browse/CB-6845
             Project: Apache Cordova
          Issue Type: Bug
          Components: CLI, iOS
    Affects Versions: 3.4.0
         Environment: MacOS Mavericks.  Project supports both iOS and Android.
            Reporter: Craig Payne
            Priority: Minor


NOTE - I'm actually using version 3.4.1-0.1.0, but it won't let me input that as a version number)

I'm using the "Cross-Platform Workflow" and I ran into a problem where some of the preferences for the SplashScreen were not working as I expected.  It turned out that the Prepare step was adding the same Preferences I already had defined in the top level config.xml - but with Different values to the Platform specific version of the config.xml file.  Adding to the confusion, the prepare step modifies the:

     platform/ios/APPNAME/config.xml

but NOT the:

     platform/ios/build/emulator/APPNAME.app/config.xml

-----

 I already have in the top-level config.xml before I run 'prepare':

    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="FadeSplashScreen" value="true" />
    <preference name="FadeSplashScreenDuration" value=".25" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="StatusBarOverlaysWebView" value="false" />

On iOS the prepare step ADDS:

     <preference name="AutoHideSplashScreen" value="true" />
     <preference name="ShowSplashScreenSpinner" value="true" />
     <preference name="StatusBarOverlaysWebView" value="true" />
    +
   Also adds Features for each Plugin declared

I believe that this effectively overwrites several settings (as it puts the added preferences later in the file).

On Android I haven't yet seen it overwrite any of the Preferences, so this might be limited to iOS.

So, I think there are 2 issues here:
  One - The 'prepare' step overwrites my preferences
  Two - The emulator will, presumably, behave differently than an actual
            device using the same build due to the different resultant
            config.xml files in the two platform/ios/* locations.

---

I'm going to try to workaround this using a Hook, but I'd prefer to see the config.xml parsed and Preferences not reset - certainly, not without some kind of warning.



--
This message was sent by Atlassian JIRA
(v6.2#6252)