The Titanium 3.4.0 CLI includes a hack (well, a hook actually) to select Xcode 5 for Titanium SDK 3.3.x and older and Xcode 6 for Titanium 3.4.x and newer. This hook expects the CLI’s build
command to be followed by a platform
and/or sdk
option. Unfortunately this hooks runs before the TiNy hook can possibly run and therefor, if you used a recipe with these options in the recipe the build failed:
Failing recipe example
The following recipe would fail with the CLI complaining you need to select 3.2.3.GA
(which you did):
1 2 3 4 |
tn save fails --platform ios --sdk 3.2.3.GA ti fails |
Rewrite
Solving this issue wasn’t simple and I ended up rewriting most of TiNy’s logic. The example now runs fine, but the second line would now be ti --fails
because I ended up introducing some breaking changes:
- Recipes are now standard options or flags.
- Recipes can be options.
- Command aliases:
ti b
,ti i
etc. - No more smarts like
3.2.3.GA
to get--sdk 3.2.3.GA
.
Option recipe example
An example of the new option-recipe would be:
1 2 3 4 5 6 7 8 9 |
tn save ci -b --pp-uuid 37304C9F-B2E0-490A-9800-0448A33BECE9 --distribution-name "Jeff Haynie (E8978765FC)" --ah --installr --installr-release-notes %s ti --ci "a great update" |