Uploaded image for project: 'Alloy'
  1. Alloy
  2. ALOY-1336

Alloy Theme Fails to merge/overwrite the platform/iphone folder - specifically 'Settings.bundle' sub-folder

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Cannot Reproduce
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Environment:
    • Sprint:
      2017 Sprint 06 Tooling

      Description

      Adding an iPhone Settings.bundle to a platform sub-folder of the theme folder does NOT *merges folders, overwrites files as stated in the documentation /Alloy Styles and Themes section.

      The Settings.Bundle will ONLY work if it does NOT appear within the theme and resides directly within the project platform folder instead.

      This process should work, according to both the documentation and the rules I helped define.

      Path of file when inside a theme;

      {project}/app/themes/{theme}/platform/iphone/Settings.bundle/Root.plist
      

      Example code within file

      Root.plist

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
      <plist version="1.0">
      <dict>
          <key>StringsTable</key>
          <string>Root</string>
          <key>PreferenceSpecifiers</key>
          <array>
              <dict>
                  <key>Type</key>
                  <string>PSGroupSpecifier</string>
                  <key>Title</key>
                  <string></string>
              </dict>
              <dict>
                  <key>Type</key>
                  <string>PSTitleValueSpecifier</string>
                  <key>Key</key>
                  <string>Version</string>
                  <key>Title</key>
                  <string>Version</string>
                  <key>DefaultValue</key>
                  <string>1.0</string>
              </dict>
          </array>
      </dict>
      </plist>
      

      However when the app is run to a simulator or a device - the contents of the simple example shown above are not used within the app.

      If the theme folder is not used (for reasons of testing) and instead located at the non-themed path of

      {project}/platform/iphone/Settings.bundle/Root.plist
      

      With the very same example code used previously it does perform correctly on both the simulator and the physical device.

      It appears obvious that NO 'merging and overwriting of files' are occurring on the themed platform/iphone/Settings.bundle folder and potentially this may be true for ALL platform iphone child folders.

      The themed platform itself has been proven to work as the Android elements held within that folder are used correctly no matter which theme is used.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                fmiao Feon Sua Xin Miao
                Reporter:
                core13 Malcolm Hollingsworth
              • Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Backbone Issue Sync is enabled for your project, but we do not have any synchronization info for this issue.

                    Git Integration