Как перейти с CocoaPods на Carthage?

Мой проект связан примерно с 30 различными библиотеками. Очень немногие из них поддерживают Карфаген.

Нужно ли мне делать ветку и заставлять их поддерживать Карфаген один за другим? Есть ли лучший способ сделать это?


person Siu Chung Chan    schedule 07.07.2016    source источник
comment
Если большинство ваших зависимостей не поддерживают Carthage, почему вы переходите на Carthage?   -  person Calvedos    schedule 07.07.2016


Ответы (2)


Идея карфагена основана на фреймворках. Поэтому, если ваши зависимости их не поддерживают, carthage не сможет их построить для вас. Просто как тот.

Но: вы также можете использовать carthage для управления зависимостями только с помощью параметра "--no-build". Затем carthage будет извлекать зависимости только в вашу папку Carthage/Checkouts.

Есть некоторые недостатки:

  • в зависимости от проекта вы должны добавить проекты каждой зависимости в свой собственный проект, если проекты содержат только образец приложения, вам нужно добавить сам код
  • если у проектов есть зависимости, carthage может найти их, только если в проектах есть файл корзины, в качестве альтернативы вы можете добавить зависимые проекты в свой собственный файл корзины, чтобы избежать их разветвления, но тогда вам нужно обновить версии для себя
  • разработчики видят сам код во время работы, но они должны обращаться с ним как с доступом только для чтения
  • ...

Можно и так использовать carthage, но я бы не советовал. Если вам нужна дополнительная информация об этом решении, прочитайте здесь.

Примечание. Если вы разветвите проекты и заставите их поддерживать Carthage, сообщество может быть вам признательно. ;-)

person ObjectAlchemist    schedule 07.08.2016

Нет проблем в том, чтобы Carthage и Cocoapods работали в одном проекте. Вы можете попробовать гибридный подход и постепенно заменять библиотеки.

Вы можете проверить этот пост на нем. Там я ускорил сборку в 9 раз, заменив Cocoapods на Carthage, но я обсуждаю, как трудно или невозможно заменить некоторые библиотеки.

person marcelosalloum    schedule 06.10.2019