Подтвердить что ты не робот

Комбинируйте Cocoapods и Карфаген

Я создаю структуру Swift, которая зависит от нескольких сторонних фреймворков. Обе эти структуры поддерживают Карфаген и Кокоаподы.

Есть ли способ сделать мою собственную поддержку фреймворка, используя как Carhage, так и Cocoapods? Или просто не достижимо, и я должен просто выбрать один?

4b9b3361

Ответ 1

Вы можете определенно сделать свою инфраструктуру доступной как с CocoaPods, так и с Carthage. Это тот путь, который я бы рекомендовал разрешить вашим пользователям использовать любое решение, которое они предпочитают. Также обратите внимание, что настройка среды для работы с Carthage также значительно облегчает пользователям, которые хотят использовать вашу библиотеку без этих решений.

На высоком уровне для CocoaPods вы захотите создать podspec, в котором перечислены ваши зависимости. Таким образом, CocoaPods будет управлять загрузкой и настройкой их вместе с их устранением в зависимости от других зависимостей пользователей. Подробнее здесь.

Для Карфагена вы хотите настроить свой проект с помощью целевых платформ для поддерживаемых платформ и добавить свои зависимости в свой файл Cartfile. Подробнее об этом здесь

Ответ 2

Совмещение обоих на самом деле не сложно. В моей структуре я начал с шаблона CocoaPods, содержащего каталоги Example и Pod. В примере проекта я создал новую цель Cocoa Touch Framework, удостоверился, что эта цель разделена (в разделе "Схемы продуктов - управляемые схемы" ) и перетащила содержимое моего каталога Pod/Classes в проект (с непроверенным Copy items if needed и добавленным Target Membership только к этой вновь созданной структуре).

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