Liftoff Versions Save

CLI for creating and configuring new Xcode projects

1.8.3

5 years ago

This release adds support for Xcode 10, preventing a crash that would happen during project generation (Thanks, @AliSoftware!)

1.8.1

7 years ago

Changes

  • Bumped dependencies to their most recent versions to reduce warnings/collisions - Gordon Fontenot

1.8.0

7 years ago

New Features

  • Bundler is now listed as a dependency manager like CocoaPods and Carthage. This means you can enable or disable it the same way you would other dependency managers. It's still enabled by default. - Edward Loveall

Changes

  • Bumped dependency versions to reduce warnings/collisions - Sabatino Masala

1.7.0

7 years ago

New Features

1.6.0

8 years ago

New Features

  • Add Carthage support. You can now set the dependency_managers to one or more dependency management systems. Right now, this supports cocoapods and carthage. This also adds a --dependency-managers flag to the cli options. The --[no-]cocoapods option will be removed in a future version of Liftoff, and so should not be used going forward. The use_cocoapods liftoffrc key has also been removed. You will now see a deprecation warning if you try to set this key. - Jake Craige
  • Define custom build configurations. You can now set a build_configurations key in your liftoffrc to define custom build configurations that can be used elsewhere in your liftoffrc. These configurations need to be copies of either the release or debug schemes. See the liftoffrc man page for more info. - Marcelo Fabri (Thanks to Mark Adams)
  • Define custom schemes in your liftoffrc. By default, this isn't set, but if you set schemes in your liftoffrc, Liftoff will generate a scheme with the specified actions. See the liftoffrc man page for more info. - Marcelo Fabri

Changes

  • bundle_version now uses git rev-list --count instead of git rev-list | wc -l | tr -d ' ' - Giovanni Lodi
  • The default TODO and FIXME script now ignores Carthage source files in addition to CocoaPods source files. - Josh Steiner
  • Improve test target detection. We were previously just matching against the word "Tests" instead of checking against the user-defined test target name. - Gordon Fontenot (Thanks to Oliver Halligon)

Bug Fixes

  • Unset INSTALL_PATH for projects. We previously had this set to nothing, which caused problems where archiving an app would try to create a generic archive instead of an iOS app archive - Marcelo Fabri (Thanks to Jake Craige)
  • Storyboards and XIBs are now properly treated as resources. Previously, they were added to Compile Sources, which could lead to crashes in some versions of Xcode. - Marcelo Fabri

1.4.1

9 years ago

Bug Fixes

  • Now using an updated version of Xcodeproj to fix some segfaults reported by CocoaPods users.

1.5.0

9 years ago

New Features

  • Let users add arbitrary configuration to test targets. You can now add a extra_test_config key to your liftoffrc and have Liftoff perform custom configuration for the test target. - Gordon Fontenot (Thanks to Olivier Halligon)
  • Allow custom ordering of script phases. This adds an optional index to script phases that Liftoff will use to determine where it should insert the phase. This index defaults to -1. Note that this changes the format of the run script build phases key and so is a breaking change from 1.4. - Juan Pablo Civile (Thanks to Lode Vanhove)
  • Add the ability to provide a custom path from the command line. Liftoff will now use this path as the root project folder if provided, defaulting to the project name if it isn't provided. - Juan Pablo Civile (Thanks to Tony DiPasquale)
  • Add new run script build phase to automatically update version and bundle number using Git - Reda Lemeden
  • Users can now customize the deployment target in their liftoffrc - Lode Vanhove
  • Liftoff will now automatically generate a settings bundle by default. If you are using CocoaPods, it will also automatically add the acknowledgements from your included pods. This can be disabled in your liftoffrc with the enable_settings key, or on the command line with the --[no]-settings flag - Lode Vanhove
  • Customize the test target name with the new test_target_name key in your liftoffrc. This can also be set on the command line with the --test-target-name flag - Matt Oakes (Thanks to Dal Rupnik)

Changes

  • The format of the run_script_phases key has changed. If you have overridden this key, you'll need to update to the new format. - Juan Pablo Civile
  • The default AppDelegate template for Swift now has a standard header comment. This keeps Liftoff's behavior in line with Xcode's. - Gordon Fontenot
  • The default TODO and FIXME script will now find these comments in Swift files - Kevin Xu
  • The Resources folder for the default objc template is now properly nested in the main target directory - Gordon Fontenot
  • You can now use Liftoff's templating features with Podfiles - Lode Vanhove
  • The default Podfile has been updated for CocoaPods 0.34.x - Keith Smiley
  • The default gitattributes file has been updated so that *.strings files are now treated as text instead of as binary data - Lode Vanhove

Bug Fixes

  • Force UTF-8 encoding when normalizing company name. This fixes a possible crash when using other locales. - Gordon Fontenot (Thanks to Dal Rupnik)
  • Liftoff no longer prints the path to CocoaPods when checking to see if it's installed - Lode Vanhove

1.4

9 years ago

New Features

  • Add the ability to define multiple project templates. This feature allows you to created named project templates inside your liftoffrc and then use them by defining them as the default inside your liftoffrc, or by passing their name on the command line. Be sure to check out liftoff(1) and liftoffrc(5) for more info. By default, Liftoff comes with templates for Objective-C (objc) and Swift (swift) projects. - Gordon Fontenot
  • Add arbitrary configuration settings to liftoffrc. This lets you define an arbitrary dictionary structure inside your liftoffrc to create default configuration settings for projects. - Gordon Fontenot (Thanks to Marshall Huss, Juan Pablo Civile, and Keith Smiley)
  • Add default storyboard file. Liftoff will now generate an empty storyboard file for use in the project. - Gordon Fontenot
  • Add support for the new Launch Screen xib files. Liftoff will now generate an empty LaunchScreen.xib file and use it as the default launch screen option. - Gordon Fontenot (lol recruiters)
  • Let users customize Xcode open command. This lets you override the default command used to launch Xcode inside your liftoffrc. This means you can default to opening Vim, AppCode, beta versions of Xcode, or even disable the feature completely. - Gordon Fontenot (Thanks to @asmod3us)

Changes

  • Update objc default project template - Gordon Fontenot
  • Simplify the status output. Liftoff no longer prints every file/directory it touches. Instead, it confirms that it's using the designated template. - Gordon Fontenot
  • Rename Info.plist template. This is to keep Liftoff's defaults in line with Xcode's. This template is now simply named Info.plist - Gordon Fontenot
  • Bump deployment target to 8.0. Welcome to the future. - Gordon Fontenot

Bug Fixes

1.3

9 years ago

New Features

  • Install arbitrary template files in the project directory. You can use the new templates key in .liftoffrc to define arbitrary templates that should be installed in the project directory. Liftoff will install these templates relative to the project's root. - Gordon Fontenot (Thanks to James Frost)
  • Add Travis configuration by default. Liftoff will now generate the template files required for Travis to work out of the box. This can be disabled by overriding the templates we install by default - Gordon Fontenot
  • Add setup, test, and README templates to the project. - Gordon Fontenot

Changes

  • Generated scheme is now shared. Previously, Xcode was creating a private scheme after the project was opened for the first time. We are now creating this scheme ourselves, and making it shared. - Gordon Fontenot (Thanks to Mark Adams)
  • Add OHHTTPStubs as a default testing dependency - Gordon Fontenot
  • Add documentation hint to default Podfile. This is intended to solve some confusion about where to add new pods after initial installation - Gordon Fontenot (Thanks to Mark Flowers)

Bug Fixes

  • Don't skip installation for app targets. Previously, we were setting SKIP_INSTALLATION to YES, which caused the Archive action to fail silently. This change brings us back in line with Xcode's default behavior.

1.0

10 years ago

Initial 1.0 release. See blog post for details.