Titanium iOS builder script
Khamis, 11 Jun 2015, 10:01 am0
Location: TITANIUM_SDK/mobilesdk/osx/3.5.1.GA/iphone/cli/commands/_build.js
(TITANIUM_SDK is commonly at ~/Library/Application Support/Titanium)
1. Cannot change CFBundleVersion
- CFBundleVersion is the build version number, available to developer and beta testers.
- CFBundleShortVersionString is the release version number, what the users see on App Store
- CFBundleVersion is automatically assign to value of
<version>
in tiapp.xml, but for beta testing purposes, need to change this value everytime we upload new build to iTunes Connect TestFlight - To fix this, modify iOS builder script in
iOSBuilder.prototype.createInfoPlist()
function, around line 2063
plist.CFBundleVersion = String(this.tiapp['build-version'] || this.tiapp.version);
- Assign value in tiapp.xml inside
<build-version>
tag, make sure the format is correct, refer https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
2. If your Titanium SDK location is different from default (custom SDK path), the script doesn’t look up that folder when searching for modules
- My Titanium SDK is located at ~/Applications/opt/Titanium, when running the
ti build -p ios
command, it doesn’t lookup for modules there - If my project included ti.cloud module, the build script will fail, cannot find the specified module
- To fix this, in
iOSBuilder.prototype.validate()
function
// around line 1321, add: customSDKPaths = config.get('paths.sdks'), // around line 1331, add: Array.isArray(customSDKPaths) && customSDKPaths.forEach(addSearchPath);
2 Jun 2015