by

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):

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: