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
# 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.
Submit A Resource
Have you created a useful tutorial, library or tool for iOS development that you would like to get in front of our 300,000+ monthly page views from iOS developers?
You can submit the url here.
The resources we feel will appeal to our readers the most will be posted on the front page.