Featured iPhone Development Resources iOS Programming Tools And Utilities Open Source iOS Libraries And Tools Swift

Tool: An Easy To Use Cocoa Dependency Manager That Works With Github And Git Repositories

Carthage is an open source Cocoa dependency management solution released by Justin Spahr-Summers that makes it dead simple to checkout and build dependencies from Github or any Git repository, and has a number of advantages over other solutions.

Carthage takes a new approach and does not require any specification files to be included with your dependencies, you simply need to create a single cartfile listing your dependencies along with your version requirements. Carthage will only work with iOS 8 as it uses the new dynamically linked framework capability.

Carthage supports Github and other Git repositories, allowing you to easily checkout and build your dependencies from the command line. Carthage does not modify your Xcode projects you simply need to drag the freshly built frameworks into your projects.

This snippet from the readme shows an example Cartfile:

# Require version 2.3.1 or later
github “ReactiveCocoa/ReactiveCocoa” >= 2.3.1


# Require version 1.x
github “Mantle/Mantle” ~> 1.0 # (1.0 or later, but less than 2.0)


# Require exactly version 0.4.1
github “jspahrsummers/libextobjc” == 0.4.1


# Use the latest version
github “jspahrsummers/xcconfigs”


# Use a project from GitHub Enterprise, or any arbitrary server
git “https://enterprise.local/desktop/git-error-translations.git” >= 0.1

Note that Carthage will only work with iOS 8 because it uses the dynamically linked framework functionality.

You can find Carthage on Github here.

A nice easy to use dependency management solution for Github and Git based dependencies.