Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-5026] iOS: Local modules are copied into the application bundle

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2012-02-16T18:28:20.000+0000
Affected Version/sRelease 1.7.2
Fix Version/sSprint 2011-44, Release 1.8.0.1
ComponentsiOS
Labelsmodule_build, qe-ios021312, qe-testadded
ReporterJeff English
AssigneeStephen Tramer
Created2011-08-16T11:29:17.000+0000
Updated2012-02-21T10:14:41.000+0000

Description

When using a local module (module is installed into the application folder rather than the Titanium library folder), the entire module folder is copied into the application bundle during the build process. This increases the size of the application bundle since it could include a large library file as well as all of the assets defined in the module folder. This does not occur when the module is installed in the Titanium library folder (/Library/Application Support/Titanium). To reproduce, 1. Install an iOS module into the application's folder by placing the module's zip file in the application folder (e.g. ti.bump-iphone-1.0.zip) 2. Build the application for iOS (e.g. iPhone simulator) 3. Navigate to the 'build/iphone/build/Debug-iphoneos' (or other iphoneos build type) folder for the application 4. Right-click on the application package and select "Show Package Contents" 5. You should see the module folder with all of its sub-folders

Attachments

FileDateSize
ti.bump-iphone-1.0.zip2012-02-16T18:18:18.000+00001121120

Comments

  1. Jeff English 2011-08-22

    Customer reported similar issue APP-373464: How to reduce app size
  2. Eric Merriman 2011-12-09

    Verified fixed with Titanium Studio, build: 1.0.7.201112080131 and SDK 1.8.0.1.v20111209102124
  3. Dustin Hyde 2012-01-09

    Added label: qe-testadded.
  4. Michael Pettiford 2012-01-18

    Reopening this issue; Tested with Ti Studio build 1.0.8.201201171630 Ti Mob SDK 1.9.0.v20120113161633 OSX Lion iPhone 5.0 SIM I reached out to Jeff on this to confirm what is expected, and as per Jeff in /build/iphone/build/Debug-iphonesimulator/modules/// there should not be a documentation directory, example directory, libti.airprint.a file (I used the airprint module to test), etc...
  5. Stephen Tramer 2012-01-18

    This cannot be tested with simulator; the module check is only performed for device/distribution builds. Once we change simulator installs to behave "more like" device and packaging, that will resolve the problem for simulator.
  6. Michael Pettiford 2012-01-18

    Closing this issue Tested this as per Stephens comment with the same environment above except built for device and confirmed the expected behavior
  7. Dustin Hyde 2012-02-16

    The bug is fixed in Snow Leopard, but I checked as far back as 1.8.0.1 in Lion and still found the bad behavior. When a Titanium iOS project containing a local module is built to device on Lion, a module zip exists in the iOS app package. Module Path: Titanium Studio Workspace/App/build/iphone/build/Debug-iphoneos/App.app/ti.bump-iphone-1.0.zip Bug Environment: SDK: 1.8.2.v20120216154635, 1.8.1, 1.8.0.1 Studio: 1.0.9.201202131024 OS: Lion Only
  8. Stephen Tramer 2012-02-16

    What Dustin is actually seeing here is correct; there should be the module *assets* as part of a packaged app, but not the module *binaries*. The bug is actually against Snow Lep if it doesn't have these assets packaged up as part of the adhoc/distributed app. Closing this bug as fixed, Dustin says he'll open a new bug about this behavior.
  9. Dustin Hyde 2012-02-16

    Added TIMOB-7702.

JSON Source