Ответ 1
Я отвечу на этот вопрос, используя пример. У меня есть вилка TTTAttributedLabel с дополнительной функциональностью, которую я добавил здесь:
Чтобы использовать это в проекте Cocoapods, I:
- Вставьте мои изменения в свою вилку
- Настройте мой подфайл для получения изменений и обновления
Как только вы переместили свои изменения на свою вилку, получите SHA вашего последнего фиксации. Вы можете сделать это, используя git rev-parse origin/master | pbcopy
или на GitHub фиксирует страницу для вашего проекта:
Затем вы можете указать конкретную фиксацию на своей вилке в своем подпикселе следующим образом:
pod 'TTTAttributedLabel', :git => 'https://github.com/getaaron/TTTAttributedLabel.git', :commit => 'd358791c7f593d6ea7d6f8c2cac2cf8fae582bc1'
После этого pod update
обновит эту конкретную фиксацию из вашей вилки. Если вы хотите, вы также можете сделать podspec
для своей вилки, но я считаю этот подход более простым, и я не делаю изменений достаточно часто, чтобы оправдать новый рабочий процесс.
Нужно ли мне работать над своей вилкой вне моего проекта, а затем использовать Cocoapods для установки изменений? Таким образом, обременительный рабочий процесс.
Вы можете сделать это таким образом, но я обычно:
- Отредактируйте код внутри моего проекта и убедитесь, что он работает.
- Скопируйте изменения на свою вилку,
- экспорт патча или
- копирование по всему файлу исходного кода
- Зафиксировать и нажать на Github
- Обновите подфайл с новым SHA
- Запустите
pod update
.
Или мне нужно что-то делать с подмодулями?
Нет, вам не нужно.