Liftoff Versions Save

CLI for creating and configuring new Xcode projects

1.1

10 years ago

New Features

  • Allow users to override templates. Now users can create templates inside .liftoff/templates at the local or user level in order to add custom templates, or override the default templates. - Gordon Fontenot
  • Add support for CocoaPods. By default, Liftoff will generate a default podfile, and run pod install inside the project directory. This can be disabled inside the .liftoffrc. - JP Simard
  • Add default pods for test target. By default, Liftoff will install Specta, Expecta, and OCMock for the test target. This can be overridden by using a custom template for the Podfile - Gordon Fontenot
  • Add company_identifier property to configuration. We will now prompt for the company identifier on new project creation. The default for this prompt is generated by normalizing the provided company name, unless there is a default set by the .liftoffrc - Gordon Fontenot (Thanks to Tony DiPasquale)
  • Open new projects after creation - Mark Adams

Changes

  • Application target defaults to portrait orientation only. - Mark Adams
  • Automatically default to the current user's name. We no longer prompt for the user's name, instead defaulting to the name provided by the system. This can still be overridden by a .liftoffrc - Gordon Fontenot (Thanks to Mike Burns)
  • Remove explicit framework linking. Since modules are enabled, we don't need to manually link frameworks anymore. - Gordon Fontenot
  • Prefer new @import over #import - Mark Adams

Bug Fixes

  • Install ruby files into rubylib instead of lib. Previously, Homebrew was linking these into /usr/local/lib, which caused warnings when running brew audit - Gordon Fontenot (Thanks to Ashton Williams)
  • Use https for GitHub URL in homebrew formula. This was causing warnings when running brew audit - Gordon Fontenot (Thanks to Ashton Williams)
  • Print a nicer error if the directory exists. Previously, this was throwing an ugly ruby stack trace. - Gordon Fontenot (Thanks to Mark Adams)
  • Trap interrupt during option input. Previously, this was throwing an ugly ruby stack trace. - Gordon Fontenot (Thanks to George Brocklehurst)
  • Set SDKROOT at the project level - Gordon Fontenot (Thanks to Tony DiPasquale)

1.1.1

10 years ago

Bug Fixes

  • Remove OTHER_LDFLAGS setting from app target. This was being set to a blank string, which caused it to override any xcconfig files added to the target. - Gordon Fontenot (Thanks to @frosty)
  • Prevent RubyGems from loading. In some installs, users were seeing crashes due to the wrong Xcodeproj native C extensions being loaded. Current theory is that RVM is doing some loadpath stuff for gems that is overriding our loadpaths. The simple fix that seems to solve the issue is to completely disable RubyGems while running Liftoff. - Gordon Fontenot (Thanks to @iOSDevil, Jim Rutherford, and @endoze)

1.2

10 years ago

New Features

  • Add command line flags. You can now pass a set of flags to the liftoff executable to override specific configurations at run time - JP Simard
  • Add strict_prompts option. This configuration option and the corresponding --[no-]strict-prompts command line flag tell liftoff to only prompt you for options that don't have default values set. This allows you to set values at run time and skip the prompt altogether. - JP Simard
  • Add configuration for setting up Run Script phases. This replaces the install_todo_script configuration key with a much more flexible run_script_phases key. By overriding this key, you can install any arbitrary script phases as long as you're providing a template for them.
  • Reluctantly allow the use of tabs for indentation. Even though my conscience protested, we've added a use_tabs key to the configuration. Enabling this will configure the project to use tabs instead of spaces. Note that this doesn't change the spacing in the default templates, so if you override this you will probably want to override those as well. - Gordon Fontenot (Thanks to Magnus Ottosson)

Changes

  • Enable some more warnings by default. - Gordon Fontenot
  • Handle key deprecations a bit more gracefully. - Gordon Fontenot
  • Stop treating all plists as though they are the Info.plist. Previously, any plist that was added as a template was being treated as though it was the Info.plist for that target. We're now being more explicit about matching that file, and linking all other plists properly. - Gordon Fontenot (Thanks to @mattyohe)

Bug Fixes

  • Set the deployment target at the project level. This mimics the behavior when creating a new project with Xcode. - Gordon Fontenot

0.7.2

10 years ago