Carthage /
Carthage
Простой децентрализованный менеджер зависимостей для Cocoa.
Форки
1.5k
Звёзды
15.2k
Issues
0
Carthage — это менеджер зависимостей для iOS и macOS. Он скачивает библиотеки, компилирует их в бинарные файлы и позволяет подключать их к проекту без лишней магии Xcode.
Что делает
Инструмент берет на себя управление сторонним кодом в iOS-приложениях. Если Swift Package Manager кажется слишком жестким или навязывает свои правила, этот менеджер дает больше свободы. Он не лезет в настройки вашего проекта и не меняет структуру файлов Xcode самостоятельно.
Вы сами решаете, как и куда подключить скомпилированные фреймворки. Это децентрализованный подход: никакой центральной базы данных, только прямые ссылки на Git-репозитории.
Как работает
Carthage работает через файл Cartfile. Вы указываете там список нужных библиотек и их версии. После запуска команды `carthage update` он скачивает исходники, собирает их в готовые фреймворки и кладет в папку Carthage/Build.
Вам остается только перетащить готовые файлы в проект. Это работает независимо от того, какие настройки стоят в вашем Xcode.
Кому подходит
Разработчикам, которые строят нативные iOS-приложения и хотят полного контроля над зависимостями.
Тем, кто устал от постоянных конфликтов в файлах проекта после автоматических обновлений.
Вайб-кодерам, которым нужно внедрить пару проверенных библиотек в проект без лишнего оверхеда.
Основные возможности
Децентрализация: нет единого реестра, всё берется напрямую из Git.
Бинарная сборка: библиотеки компилируются один раз, что ускоряет сборку вашего основного проекта.
Минимальное вмешательство: не меняет файлы .xcodeproj.
Поддержка Swift и Objective-C библиотек.
Работа с конкретными версиями, тегами или ветками репозиториев.
Как установить
Установить можно через Homebrew. Это самый быстрый способ для macOS.
brew install carthageПосле установки создайте файл `Cartfile` в корне проекта и добавьте туда нужную зависимость: `github "Alamofire/Alamofire" ~> 5.0`. Затем выполните команду:
carthage update --use-xcframeworksКак применить в своём продукте
Используйте это, если собираете кастомный SaaS под iOS или делаете мобильного клиента для своего сервиса. Это надежный способ зафиксировать версии библиотек и быть уверенным, что сборка не сломается через месяц.
Подключение SDK для аналитики или платежных систем в нативное приложение.
Фиксация версий UI-китов, чтобы дизайн не «поехал» после обновления зависимостей.
Создание стабильной среды сборки для CI/CD, где важна предсказуемость каждого модуля.
Подводные камни
Главная боль — время компиляции. Поскольку Carthage собирает библиотеки из исходников, на слабом железе это может затянуться. Также он не умеет решать конфликты версий так элегантно, как современные менеджеры, поэтому следить за графом зависимостей придется самостоятельно.
Частые вопросы
Чем это лучше Swift Package Manager?
SPM интегрирован в Xcode и работает «из коробки», но Carthage дает больше свободы в управлении бинарниками. Если вам нужно жестко контролировать процесс сборки и не зависеть от логики Xcode, выбирайте этот вариант.
Нужно ли коммитить папку Carthage в Git?
Зависит от вашего подхода. Обычно коммитят только Cartfile и Cartfile.resolved. Сами скомпилированные фреймворки можно собирать на стороне CI/CD, чтобы не раздувать репозиторий лишними бинарными файлами.
Можно ли использовать Carthage для личных проектов?
Конечно. Он отлично подходит для небольших приложений, где вы хотите быстро подключить проверенные библиотеки и забыть о настройках на долгое время.
Топики
Похожие репозитории
CotEditor — это быстрый и легкий текстовый редактор для macOS. Он заменяет стандартный TextEdit, если вам нужно чистое пространство для написания кода или заметок.
Latest следит за апдейтами всех ваших программ на macOS. Утилита собирает данные из разных источников и держит вас в курсе новых версий.
Homebrew — это стандартный менеджер пакетов для macOS и Linux. Он устанавливает софт одной командой, избавляя от ручного поиска установщиков.
IINA — это мощный видеоплеер для macOS на базе MPV. Идеальное решение, если нужно встроить качественный медиа-движок в свой проект или просто заменить стандартные плееры.
Данные обновлены: 3 июня 2026 г.