FREEDOM251

Freedom251 › Package Managers

Carthage

Free plan iPhoneMac

Visit Carthage Alternatives Pricing

Carthage's own site

What Carthage 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 in the developer’s hands. It does not automatically change project files or build settings. Dependencies are normally fetched into the project folder, with an option for Git submodules. Carthage can also use prebuilt frameworks from GitHub Releases or a binary project definition file. It supports dependency resolution, lockfiles, and private registry authentication. For Xcode 12 and later, the documented --use-xcframeworks option creates platform-independent XCFrameworks. Documentation covers macOS, iOS, tvOS, and watchOS, while supported platforms also include visionOS. Dynamic frameworks are officially supported; static frameworks are supported from version 0.30.0. Swift framework compatibility is checked against the local Swift version, with source builds attempted when versions differ. Installation options include a package installer, Homebrew, MacPorts, or source.

Who it suits

Carthage suits Cocoa developers who want dependency builds and framework outputs without automatic project-file or build-setting changes. It is aimed at Apple-platform projects needing framework or XCFramework support.

What it does well

  • Free MIT-licensed software
  • Supports lockfiles and private registry authentication
  • Builds framework bundles and XCFrameworks
  • Checks Swift version compatibility
  • Offers package, Homebrew, MacPorts, and source installation

What to know first

  • Build caching cannot be combined with Git submodules
  • Official dynamic-framework support targets iOS 8 or later
  • Requires manual control of project setup

Plans

PlanBilled and limitsPrice
CarthageMIT licensed softwareFree

As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.

Verdict

Carthage provides dependency resolution and framework building while keeping project configuration under developer control. Its Apple-platform coverage, binary framework options, and Swift compatibility checks are useful, but cache and submodule use cannot be combined.

Facts from Carthage's own pages

Apple platforms
The documentation covers building frameworks for macOS, iOS, tvOS, and watchOS. · github.com, 11 Oct 2026
Binary downloads
Carthage can use prebuilt frameworks attached to GitHub Releases or specified through a binary project definition file. · github.com, 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, 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, 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, 11 Oct 2026
Dependency resolution
Yes · github.com, 22 Sept 2026
Dependency sources
Carthage checks out dependency source files into the project folder by default and can optionally use Git submodules. · github.com, 11 Oct 2026
Framework formats
Carthage can build XCFrameworks and framework bundles, and supports static frameworks as of version 0.30.0. · github.com, 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, 11 Oct 2026
Free plan
Yes · github.com, 22 Sept 2026
Installation
The project documents installation through a package installer, Homebrew, MacPorts, or building from source. · github.com, 11 Oct 2026
Install options
The README lists a package installer, Homebrew, MacPorts, and installation from source. · github.com, 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, 11 Oct 2026
Lockfile support
Yes · github.com, 22 Sept 2026
Notable limit
The README says build caching with `--cache-builds` is incompatible with `--use-submodules`. · github.com, 11 Oct 2026
Package formats
framework,xcframework · github.com, 22 Sept 2026
Platforms
The README gives framework setup instructions for macOS, iOS, tvOS, and watchOS projects. · github.com, 11 Oct 2026
Prebuilt frameworks
Carthage can use prebuilt frameworks attached to GitHub Releases or specified through a binary project definition file. · github.com, 11 Oct 2026
Private registry auth
Yes · github.com, 22 Sept 2026
Project changes
Carthage does not automatically modify project files or build settings. · github.com, 11 Oct 2026
Project control
Carthage leaves project structure and setup under the developer’s control and does not automatically modify project files or build settings. · github.com, 11 Oct 2026
Purpose
Carthage is a dependency manager for Cocoa applications that builds dependencies and provides binary frameworks. · github.com, 11 Oct 2026
Release format
The project’s release page lists version 0.40.0 as its latest release. · github.com, 11 Oct 2026
Support
The README invites users who cannot resolve framework build failures to open an issue on GitHub. · github.com, 11 Oct 2026

Where Carthage stands on Freedom251

Look at these too