[TIMOB-11306] iOS: Subversion directories and files present in .IPA
GitHub Issue | n/a |
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2012-10-30T23:59:25.000+0000 |
Affected Version/s | Release 2.1.3 |
Fix Version/s | Release 2.1.4, Release 3.0.0, Release 3.1.0, 2012 Sprint 22 Core, 2012 Sprint 22 |
Components | iOS |
Labels | core, qe-port |
Reporter | Raymond Verbruggen |
Assignee | Max Stepanov |
Created | 2012-09-26T10:57:48.000+0000 |
Updated | 2012-11-01T21:42:20.000+0000 |
Description
Problem
Titanium does not exclude subversion directories and files when generating .IPA file.
Actual result
This increased the file size already from 77MB to 127MB, even more increase at every new build.
Screenshot
Shows an IPA file generated. Above with 2.0.2.GA, below with 2.1.3.GA.
_Is noticeable after publishing a project with Studio, a .svn subdirectory is being created with 2.1.3.GA release only._
Steps to reproduce
1. Set 2.0.2.GA SDK into tiapp.xml
2. Right click on Studio Project, "Publish"
3. Select distribution method, "Distribute - Ad Hoc/Enterprise" for instance
4. Perform steps 1, 2 and 3 with 2.1.3.GA.
5. Unzip, compare IPA generated files upon distribution.
_Results may vary according the project files size_
Attachments
Have you tried generating the .IPA file through the Xcode project? Then can you post the app size in comparison to creating it through Titanium? Thanks.
@Raymond Verbruggen Where should exactly "SVN directories and files" be when generating .IPA file? Can you give insight in regards with? Also, what is the current Titanium SDK that you built it? And state what is your current iOS version to dig into this.
Associated Community thread
http://developer.appcelerator.com/question/91901/over-20mb-filesize Edit: Could see a .svn directory generated in 2.1.3.GA. Added the repro steps and background info.The svn directories are used by the Subversion system for administration purposes. When generating the IPA file they must remain where they are, because otherwise this administration is lost. In other words, these files have to be excluded from the IPA file. SDK versions 2.1.2 and 2.1.3 are currently used, the behaviour is the same. I have not used Xcode for generating of the IPA file (wouldn't know how to do that, maybe a workaround?) This is an urgent problem for me, the IPA is now 140M; generated from a directory without SVN files it is around 80MB.
Simple fix for this is to add the following code in builder.py at line 1217 (method execute_xcode, after output = run.run(args,False,False,o)
remove .svn files from build dir
os.system("find -d \"%s\" -name \".svn\" -exec rm -r '{}' \;" % build_dir) It looks like xcodebuild is actually pulling the .svn directories into the build. I haven't had enough time to figure out why this is happening, but this is a quick fix for the problem.At 1231 in builder.ph output = run.run(args,False,False,o) # RV added start # remove .svn files from build dir os.system("find -d \"%s\" -name \".svn\" -exec rm -r '{}' \;" % build_dir) # RV added end However; This doesn't work, a lot of errors and no IPA is generated. [INFO] Performing clean build [INFO] Compiling localization files [DEBUG] compiled ios file: /Users/raymond/Documents/Titanium Studio Workspace/sprookjes/build/iphone/build/Debug-iphoneos/Sprookjes.app/en.lproj/Localizable.strings [DEBUG] compiled ios file: /Users/raymond/Documents/Titanium Studio Workspace/sprookjes/build/iphone/build/Debug-iphoneos/Sprookjes.app/nl.lproj/Localizable.strings [INFO] Installing application in iTunes ... one moment [DEBUG] executing command: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication /Users/raymond/Documents/Titanium Studio Workspace/sprookjes/build/iphone/build/Debug-iphoneos/Sprookjes.app [DEBUG] error: Codesign check fails : /var/folders/cz/2mc0s7r559z94g3lypnr6tr00000gn/T/wsmMM6cH7V/Payload/Sprookjes.app: a sealed resource is missing or invalid [DEBUG] In architecture: armv6 [DEBUG] resource missing: /private/var/folders/cz/2mc0s7r559z94g3lypnr6tr00000gn/T/wsmMM6cH7V/Payload/Sprookjes.app/animation/scene19/.svn/text-base/scene19.jpg.svn-base [DEBUG] resource missing: /private/var/folders/cz/2mc0s7r559z94g3lypnr6tr00000gn/T/wsmMM6cH7V/Payload/Sprookjes.app/.svn/text-base/KS_nav_ui.png.svn-base [DEBUG] resource missing: /private/var/folders/cz/2mc0s7r559z94g3lypnr6tr00000gn/T/wsmMM6cH7V/Payload/Sprookjes.app/images/.svn/text-base/bg2@2x.jpg.svn-base [DEBUG] resource missing: /private/var/folders/cz/2mc0s7r559z94g3lypnr6tr00000gn/T/wsmMM6cH7V/P etc etc etc
PR https://github.com/appcelerator/titanium_mobile/pull/3337
Already fixed for 2.1.4
3_0_X PR https://github.com/appcelerator/titanium_mobile/pull/3367
Tested with 2.1.4.v20121030173408