(No Longer Maintained) 🍰 Describe Xcode projects in a human readable format and (re)generate one on demand.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 15b99cd Feb 26, 2018



Gem Twitter: @jcampbell_05 License Build Status Test Coverage Gem

=== No Longer Maintained ===

It's been 4 years since Xcake was first released and the iOS development scene has changed. We now have Fastlane, Swift and almost everyone uses Cocoapods. On top of that I have less time to dedicate to this tool than before.

Luckily whilst Xcake once stood alone, there are noe finally some very strong alternatives.

For those who were interested in using or are using xcake then I reccomend taking a look at https://github.com/yonaskolb/XcodeGen

Describe Xcode project in a human readable format and (re)generate one on demand.

You describe your project in a simple text file: your Cakefile. Xcake creates your project based on this including importing all of your files and creating groups to match the file hiearchy.

This is perfect for working in teams or with cocoapods as it reduces conflicts, makes it easy to modify settings and allows you to create a clean project anytime you need to.

Isn't this just like liftoff, generamba or crafter? No these tools are for scafolding a whole project structure to get you started (Creating folder structure, git repo etc.). However xcake is not for this, xcake is just for generating a xcodeproject.

Get in contact with the developer on Twitter: @jcampbell_05

FeaturesInstallationNeed help?Documentation


Xcode projects were once described as "the closest thing to taboo we have to deal with on a regular basis", but it doesnt have to be this way.

Store a simple description of your project in a text file, your Cakefile, to easily create a xcode project from any computer. Easily see, merge and maintain the structure of your project, It’s time to add *.xcodeproj into .gitignore!.

You define a project like this:

application_for :ios, 8.0 do |target|
  target.name = "MyApp"

To generate the xcode project, just run:

xcake make

If you would like an example Cakefile for guidence, just run:

xcake init
Flexibly configure and create xcode project from one easy to read Cakefile
🚢 Generate from any computer, including a CI-server
💭 Never remember any difficult commands, just xcake make
📃 Store everything but the project in git. Never again manually fix any corruptions or merge issues with the project.
🚀 Saves you hours when working with xcode projects
⚓️ Confidence that the project file is exactly the same during Continuous Delivery
💻 Support for OSX, iOS and watchOS apps


Install the gem by running:

sudo gem install xcake --verbose

Make sure, you have the latest version of the Xcode command line tools installed:

xcode-select --install

If you experience slow launch times of xcake, try running

gem cleanup

to clean up outdated gems.

System Requirements: xcake requires Mac OS X or Linux with Ruby 2.0.0 or above.

Available commands

Xcake can create an example cakefile when you run:

xcake init

Usually you'll use xcake by running the command

xcake make

Xcake will then generate a Xcode project based on your Cakefile

Sample Cakefile

To get better understanding of how to start using Xcake in a real project, see examples under example folder.

There is a sample app project (the project file has been generated using Xcake v.0.7.1 based on the Cakefile) as well as sample Cakefile for an iOS framework project.

Need help?

Please submit an issue on GitHub and provide information about your setup


This project is licensed under the terms of the MIT license. See the LICENSE file.

This project is no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. Xcake runs on your own computer or server, so your sensitive information will never leave your own computer. You are responsible for how you use xcake.