Lovesuper
@Lovesuper
pyhon, java, swift программист

Не могли бы подсказать сборщик для IOS8-SWIFT проекта?

ios8_headerimage1.pngНедавно занялся разработкой под IOS, и после работы под android\ studio/java/maven/gradle <чет приуныл> натолкнулся на непонятки с тем, как организовать совместную разработку через git. Например, как не таскать за собой файлики библиотек Alamofire.swift, etc? Нашел два варианта CocoaPods и Carthage. Но как они работают - ума не приложу, даже исходя из документации. Либо это работает совсем непривычно. Они выкачивают библиотеки, создают фреймворки (О_о !). Как вообще работать с контролем версий под IOS+Swift? Подскажите, люди.
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
Flanker_4
@Flanker_4
Ох Вы и вопрос оформили... хрен поймешь.

А если по делу, то существует несколько подходов

1) Таскать в виде файликов. Дешево и сердито, выбор настоящих джедаев (раньше, кста, так и делали)

2) Использовать чужие наработки в виде lib(в iOS только статические) или Framework'ов. Для этого пункта автор библиотеки должен подготовить их сам.

3) Использовать гитовские submodule.

4) Использовать Cocoapods. В двух словах это выглядит так: автор библиотеки публикует ее особым образом. Пользователь программист у себя в специальном файле прописывает нужные ему библиотеки, которые автоматически вытаскиваются и кладутся в проект cocapod'овской тулзой. Название либ можно найти на сайте https://cocoapods.org или непосредственно у автора. При этом вы в любой момент вольны обновить/добавить/удалить все/выбранную библиотеку и, что не маловажно иногда, имеете прямой доступ к исходникам библиотеки. Из минусов - кокаподс немного переделывает проект, что иногда неприемлемо.

5) Carthage - эдакая помесь 4 и 2 варианта. Т.е. вы избавляетесь от грязной работы по генерации библиотек, но при этом вам прийдется ограничится проектами только под iOS 8. Там используется специальная технология (c) от Apple, которая не работает на старых версиях.

Что касается позиции Apple - то она предлагает реюзать код используя подход из пункта 2 + для iOS 8 эту же специальную технологию (c). По этому то, эти Carthage и CocoaPod'ы выглядят так странно - они хоть дефакто и стандарт в мире apple разработки, но при этом Apple официально ЕЩЕ не замечены.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@AmikoYuki
Чем вам xcode не угодил?
Ответ написан
@svistkovr
Прошу прощения, но вы точно пишет код на Xcode?
Там все зависимости и бибилиотеки подтягиваются.
Фреймворки и библиотеки (не системные) надо таскать с собой в исходниках ибо они часть кода.

Cocoapods и Carthage это что-то типа пакетного менеджера всех открытых фреймворков.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы