Использование Карфагена и CocoaPods в том же проекте

В настоящее время я просматриваю библиотеку, которая поддерживает Карфаген как менеджера пакетов. Проект, который я собираюсь интегрировать, уже имеет некоторые зависимости CocoaPods. Кто-нибудь пытался использовать оба этих менеджера одновременно?

Это кажется мне плохой идеей, но я бы хотел услышать, если это так на практике.

Ответ 1

Основная проблема, с которой вы столкнетесь, заключается в том, что CocoaPods и Carthage не знают друг о друге. Это означает, что если зависимость, управляемая CocoaPods и зависимость от Карфагена, имеет общую зависимость, могут возникнуть конфликты.

Карфаген требует, чтобы вы вручную добавляли фреймворки в проект, что означает, что вы, возможно, избегаете не связывать какую-либо общую зависимость и полагаетесь на инфраструктуру, добавленную CocoaPods, но вы не получите разрешение версии зависимостей между двумя менеджерами зависимостей, и она выиграла Непонятно, как все это работает.

С учетом сказанного, нет никаких неотъемлемых причин, по которым вы не можете использовать их, и если библиотека, которую вы хотите включить, имеет мало или вообще не имеет зависимости, вероятно, предпочтительнее использовать Карфаген, а не включать библиотеку в качестве подмодуля или даже копирование источника в.

Моя рекомендация, если это возможно, состоит в том, чтобы включить ваши другие зависимости через Карфаген или создать подсек для библиотеки, чтобы вы могли использовать только Carthage или CocoaPods.