Кокосовые стручки и вилки GitHub
это мой первый раз, когда я разветвляю проект GitHub, и я тоже не слишком компетентен с CocoaPods, поэтому, пожалуйста, потерпите меня.
в принципе, я разветвил проект на GitHub, используя следующее в моем Podfile:
pod 'REActivityViewController', '~> 1.6.7', :git => 'https://github.com/<username>/REActivityViewController.git'
затем я внес некоторые изменения в вилку, и, конечно же, когда я сделал pod install для установки другого модуля он переустановил оригинал REActivityViewController и удалены мои изменения.
Я понимаю, что мне нужно подтолкнуть мои изменения к моей вилке, прежде чем другой pod install, но как мне это сделать, если это РЕПО, установленное CocoaPods? Я заглянул в REActivityViewController папка установлена под Pods папка и нет никаких файлов git.
нужно ли мне работать над моей вилкой вне моего проекта, а затем использовать CocoaPods для установки изменений? Это слишком громоздкий рабочий процесс.
или мне нужно что-то сделать с подмодулями?
2 ответов:
Я отвечу на этот вопрос, используя пример. У меня есть вилка TTTAttributedLabel с некоторыми дополнительными функциями, которые я добавил Здесь:
чтобы использовать это в проекте Cocoapods, я:
- нажмите мои изменения в мою вилку
- настройка моего Подфайла для получения изменений и обновления
после того, как вы нажали ваши изменения на вилку, получите SHA вашего последнего коммита. Вы можете сделать это с помощью
git rev-parse origin/master | pbcopyили GitHub фиксирует страницу для вашего проекта:затем вы можете указать конкретную фиксацию на своей вилке в своем Подфайле следующим образом:
pod 'TTTAttributedLabel', :git => 'https://github.com/getaaron/TTTAttributedLabel.git', :commit => 'd358791c7f593d6ea7d6f8c2cac2cf8fae582bc1'после этого,
pod updateобновит этот конкретный коммит из вашей вилки. Если вы хотите, вы также можете сделатьpodspecдля вашей вилки, но я нахожу этот подход более простым, и я не делаю изменений достаточно часто, чтобы оправдать новый рабочий процесс.нужно ли мне работать над моей вилкой вне моего проекта, а затем использовать Cocoapods для установки изменений? Это способ громоздкого рабочего процесса.
вы можете сделать это таким образом, но я обычно:
- отредактируйте код внутри моего проекта и убедитесь, что он работает
- скопируйте изменения в мою вилку, по
- экспорт патча, или
- копирование по всему исходному коду файл
- Commit & push to Github
- обновить Подфайл с новым SHA
- выполнить
pod update.или мне нужно что-то сделать с подмодулями?
нет, вам это не нужно.
другой вариант - чтобы ваш проект ссылался на стручок напрямую, а не через 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


Comments