Кокосовые стручки и вилки 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 для установки изменений? Это слишком громоздкий рабочий процесс.



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

772   2  

2 ответов:

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

https://github.com/getaaron/TTTAttributedLabel

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

  1. нажмите мои изменения в мою вилку
  2. настройка моего Подфайла для получения изменений и обновления

после того, как вы нажали ваши изменения на вилку, получите SHA вашего последнего коммита. Вы можете сделать это с помощью git rev-parse origin/master | pbcopy или GitHub фиксирует страницу для вашего проекта: Screenshot of copying a commit's SHA on GitHub

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

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

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

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

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

  1. отредактируйте код внутри моего проекта и убедитесь, что он работает
  2. скопируйте изменения в мою вилку, по
    • экспорт патча, или
    • копирование по всему исходному коду файл
  3. Commit & push to Github
  4. обновить Подфайл с новым SHA
  5. выполнить 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

enter image description here

Comments

    Ничего не найдено.