Carthage is intended to be the simplest way to add frameworks to your Cocoa application. Carthage builds your dependencies and provides you with binary frameworks, but you retain full control over your project structure and setup. Carthage does not automatically modify your project files or your build settings. Get Carthage by running brew install carthage or choose another installation method. Create a Cartfile in the same directory where your .xcodeproj or .xcworkspace is. List the desired dependencies in the Cartfile. Once you have Carthage installed, you can begin adding frameworks to your project. Note that Carthage only supports dynamic frameworks, which are only available on iOS 8 or later (or any version of OS X). We encourage using XCFrameworks as of version 0.37.0 (January 2021), and require XCFrameworks when building on an Apple Silicon Mac. Switching from discrete framework bundles to XCFrameworks requires a few changes to your project.
Features
- Carthage will directly check out dependencies’ source files into your project folder, leaving you to commit or ignore them as you choose
- Carthage will write to your repository’s .gitmodules and .git/config files, and automatically update the submodules when the dependencies’ versions change
- If you want to work on your dependencies during development, and want them to be automatically rebuilt when you build your parent project, you can add a Run Script build phase that invokes Carthage
- Carthage will rebuild a dependency regardless of whether it's the same resolved version as before
- Auto completion of Carthage commands and options are available as documented in Bash/Zsh/Fish Completion
- Carthage only officially supports dynamic frameworks