Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

CLI for creating and configuring new Xcode projects

License

NotificationsYou must be signed in to change notification settings

liftoffcli/liftoff

Repository files navigation

Logo

Liftoff is a CLI for creating and configuring iOS Xcode projects.

👋 We need your help!We're looking for contributors and people willing to take over Liftoff maintenance.If you're interested, we'd love to hear from you! 👍

Installation

brew tap liftoffcli/formulaebrew install liftoff

Liftoff was previously distributed via RubyGems. This method of installation hasbeen deprecated, and all new releases will be done through Homebrew. If you aremigrating from RubyGems, you should uninstall the gem version to avoid confusionin the future.

Usage

Run this command in a directory

liftoff

View the documentation:

man liftoffman liftoffrc

When Liftoff finds an existing project in the current directory, it willperform the following configurations:

  • Set the indentation level (In spaces, 4 by default).
  • Treat warnings as errors for release schemes.
  • Enable warnings at the project level, checkliftoffrc(5) for a list of the warnings.
  • Turn on Static Analysis for the project.
  • Add a build phase shell script thatturns "TODO:" and "FIXME:" intowarnings.
  • Add a build phase shell script that sets the version to the latest Git tag,and the build number to the number of commits on master.
  • Perform arbitrary configuration as defined in the user'sliftoffrc. Seeliftoffrc(5) for more information.
  • Add default.gitignore and.gitattributes files.
  • Initialize a newgit repo and create an initial commit (if needed).

When you run Liftoff in a directory without a project file, it will create anew directory structure for a project, and generate a well-configured Xcodeproject in that subdirectory:

$ cd ~/dev/$ liftoffProject name? MyCoolAppCompany name? thoughtbotAuthor name? Gordon FontenotPrefix? MCACreating MyCoolAppCreating MyCoolApp/CategoriesCreating MyCoolApp/Classes[snip]

Liftoff will generate a brand new project for you based on the providedvalues. Generating projects via Liftoff has these advantages:

  • Minimized time reorganizing the repository
  • Sets upgit repository automatically
  • Defined group structure
  • Matching directory structure on disk (linked to the proper group)
  • Easily customizable
  • Configurations can be shared easily

Configuration

You can use aliftoffrc file to speed up your workflow by defining yourpreferred configuration for Liftoff.

Liftoff will look for config files in the local directory and then the homedirectory. If it can't find a key in./.liftoffrc or~/.liftoffrc, it willuse the default values. Checkliftoffrc(5) for more information:

man liftoffrc

You can see thecurrent liftoffrc on master, but be aware thatthe keys might not match up completely with the current released version.

Directory Structure and Templates

One of the most powerful things that Liftoff can do for you is let you quicklyand easily customize your project's group and directory structure. By defininga YAML dictionary inside your local or user.liftoffrc, you can completelydictate the structure that will be created. This includes group structure,order, placement of template files, etc. And remember that these groups willbe mimicked on disk as well.

You can also create your own templates, or override the defaults by addingthem to~/.liftoff/templates or./.liftoff/templates. Liftoff will use thesame fallback order when looking for templates as it does for the.liftoffrc.

These files (and filenames) will be parsed withERB, using the valuesprovided at run time (or the default values from aliftoffrc).

Note about Xcode 7.0

In Xcode 7.0, there is a bug that when combined with a bug in Liftoff 1.5results in a crash when trying to launch a project generated by liftoff. Thisbug is fixed in Liftoff 1.6, but if you have a project created with a versionof liftoff <= 1.5, you might experience this crash.

To fix it:

  1. Open the project in Xcode 6 or Xcode 7.1+
  2. RemoveMain.storyboard from the project (only need to remove thereference, you don't need to trash the file itself)
  3. Re-addMain.storyboard to the project

Your project should now open cleanly in Xcode 7.0.

Contributing

See theCONTRIBUTING document. Thank you,contributors!

We'd also love some help for maintaining Liftoff up-to-date on a more regular basis. If you're interested, we'd love to hear from you!

License

Liftoff is Copyright (c) 2015 thoughtbot, inc. It is free software, and may beredistributed under the terms specified in theLICENSE file.

About

thoughtbot

Liftoff was originally maintained and funded by thoughtbot, inc. The names andlogos for thoughtbot are trademarks of thoughtbot, inc.

Similar projects


[8]ページ先頭

©2009-2025 Movatter.jp