Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. Package Managers
  3. Carthage

Carthage

What it is

Carthage is a free, MIT-licensed dependency manager for Cocoa applications. It resolves dependencies, fetches their source, builds them, and supplies framework bundles or XCFrameworks while leaving project structure and setup under the developer’s control. It does not automatically change project files or build settings. Dependencies are fetched into the project folder by default; a command-line option enables Git submodules, and Carthage can also use prebuilt frameworks attached to GitHub Releases or listed in a binary project definition file. It supports dependency resolution, lockfiles, and private registry authentication. For Xcode 12 and later, the documented `--use-xcframeworks` option builds platform-independent XCFrameworks. The documentation covers macOS, iOS, tvOS, and watchOS; supported platforms also include visionOS. Carthage officially supports dynamic frameworks and supports static frameworks from version 0.30.0. It checks downloaded Swift frameworks against the local Swift version and tries a source build if they differ. Build caching can avoid rebuilding dependencies when possible, but it cannot be used with Git submodules.

For and against

For

  • Leaves project files and build settings unchanged.
  • Supports dependency lockfiles and private registry authentication.
  • Can build framework bundles and XCFrameworks.
  • Can use prebuilt frameworks from GitHub Releases.

Against

  • Build caching is incompatible with Git submodules.
  • Official dynamic framework support requires iOS 8 or later.

The verdict

Carthage is a free option for developers who prefer dependency builds without automatic project-file changes. Check its framework compatibility details and the build-caching limitation before choosing a workflow.

Who it suits

Carthage suits developers building Cocoa applications who want dependency management while retaining control of project structure and build settings. It supports Apple-platform framework workflows and offers several installation options, including a package installer, Homebrew, MacPorts, and source installation.

Plans and prices

Carthage

Free

MIT licensed software

Every plan, in full

On the record

Apple platforms
The documentation covers building frameworks for macOS, iOS, tvOS, and watchOS.github.com · read 11 Oct 2026
Binary downloads
Carthage can use prebuilt frameworks attached to GitHub Releases or specified through a binary project definition file.github.com · read 11 Oct 2026
Build caching
The --cache-builds option can avoid rebuilding a dependency when possible, but it is incompatible with --use-submodules.github.com · read 11 Oct 2026
Builds dependencies
It builds dependencies and provides binary frameworks while leaving project structure and setup under the developer’s control.github.com · read 11 Oct 2026
Compatibility limit
Carthage officially supports dynamic frameworks, which are available on iOS 8 or later and any version of OS X.github.com · read 11 Oct 2026
Dependency resolution
Yesgithub.com · read 22 Sep 2026
Dependency sources
Carthage checks out dependency source files into the project folder by default and can optionally use Git submodules.github.com · read 11 Oct 2026
Framework formats
Carthage can build XCFrameworks and framework bundles, and supports static frameworks as of version 0.30.0.github.com · read 11 Oct 2026
Framework support
The README says Carthage officially supports dynamic frameworks and also supports static frameworks starting with version 0.30.0.github.com · read 11 Oct 2026
Installation
The project documents installation through a package installer, Homebrew, MacPorts, or building from source.github.com · read 11 Oct 2026
Install options
The README lists a package installer, Homebrew, MacPorts, and installation from source.github.com · read 11 Oct 2026
License
Carthage is distributed under the MIT License, which grants permission to use, copy, modify, publish, distribute, sublicense, and sell the software subject to its conditions.raw.githubusercontent.com · read 11 Oct 2026
Lockfile support
Yesgithub.com · read 22 Sep 2026
Notable limit
The README says build caching with `--cache-builds` is incompatible with `--use-submodules`.github.com · read 11 Oct 2026
Package formats
framework,xcframeworkgithub.com · read 22 Sep 2026
Prebuilt frameworks
Carthage can use prebuilt frameworks attached to GitHub Releases or specified through a binary project definition file.github.com · read 11 Oct 2026
Private registry auth
Yesgithub.com · read 22 Sep 2026
Project changes
Carthage does not automatically modify project files or build settings.github.com · read 11 Oct 2026

Alternatives to Carthage

Every alternative, ranked