CocoaPods и вилки GitHub

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

По сути, я разработал проект на GitHub, используя следующее в Podfile:

pod 'REActivityViewController', '~> 1.6.7', :git => 'https://github.com/<username>/REActivityViewController.git'

Затем я внес некоторые изменения в форк, и, конечно, когда я сделал pod install для установки другого модуля, он переустановил исходный ---- +: = 3 =: + ---- и удалил мои изменения.

Я понимаю, что мне нужно перенести свои изменения в мою форк, прежде чем другой REActivityViewController, но как мне это сделать, если это репо установлен CocoaPods? Я посмотрел в папке pod install, установленной в REActivityViewController папка и нет никаких файлов GIT.

Нужно ли работать на своей вилке за пределами моего проекта, а затем использовать CocoaPods для установки изменений? Это слишком громоздко для рабочего процесса.

Или мне нужно что-то делать с подмодулями?

96 голосов | спросил Ramsel 5 Jpm1000000pmSun, 05 Jan 2014 21:40:31 +040014 2014, 21:40:31

2 ответа


0

Я отвечу на этот вопрос на примере. У меня есть вилка TTTAttributedLabel с некоторыми дополнительными функциями, которые я добавил здесь:

  

https://github.com/getaaron/TTTAttributedLabel

Чтобы использовать это в проекте Cocoapods, я:

  1. Нажмите мои изменения на моей вилке
  2. Настройте мой Podfile для получения изменений & обновление

После того, как вы добавили изменения в свой форк, получите SHA вашего последнего коммита. Вы можете сделать это, используя git rev-parse origin/master | pbcopy или на Страница коммитов GitHub для вашего проекта: Скриншот копирования SHA комита в GitHub

Затем вы можете указать конкретный коммит на вашем форке в вашем Podfile следующим образом:

pod 'TTTAttributedLabel', :git => 'https://github.com/getaaron/TTTAttributedLabel.git', :commit => 'd358791c7f593d6ea7d6f8c2cac2cf8fae582bc1'

После этого pod update обновит этот конкретный коммит с вашего форка. Если вы хотите, вы также можете сделать podspec для вашего форка, но я считаю, что этот подход проще, и я не делаю изменения достаточно часто оправдать новый рабочий процесс.

  

Нужно ли работать на своей вилке за пределами моего проекта, а затем использовать Cocoapods для установки изменений? Это способ обременительного рабочего процесса.

Вы можете сделать это таким образом, но я обычно:

  1. Отредактируйте код внутри моего проекта и убедитесь, что он работает
  2. Скопируйте изменения на мой форк,
    • экспорт патча или
    • копирование всего файла исходного кода
  3. Подтвердить и amp; нажмите на GitHub
  4. Обновите подфайл с новым SHA
  5. Запустите pod update.
  

Или мне нужно что-то делать с подмодулями?

Нет, вам не нужно.

ответил Aaron Brager 5 Jpm1000000pmSun, 05 Jan 2014 23:17:24 +040014 2014, 23:17:24
0

Другой вариант - ваш проект ссылается на модуль напрямую, а не через github. Таким образом, вам не нужно постоянно фиксировать свой форк или копировать /вставлять код только для проверки ваших изменений. Вы можете работать с двумя различными проектами Xcode одновременно и фиксировать их в соответствующих проектах.

pod 'AFNetworking', :path => '~/Documents/AFNetworking'

CocoaPods Документация: http : //guides.cocoapods.org/using/the-podfile.html#using-the-files-from-a-folder-local-to-the-machine

введите описание изображения здесь

ответил Oren 1 PMpWed, 01 Apr 2015 22:21:10 +030021Wednesday 2015, 22:21:10

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132