Cocoapods: как создать собственные модули для сторонней библиотеки?

Я использую Cocoapods, и одной из библиотек, которые я использую, является ZUUIRevealController, в настоящее время версия 0.9.6 в Cocoapods, которая не является последней, если я хочу создать для этого свои собственные модули, каковы шаги для этого ?

Спасибо!


person hzxu    schedule 14.12.2012    source источник


Ответы (1)


Чтобы обновить для всех:

Итак, все кокоаподы хранятся в большом репозитории спецификаций здесь. Мы хотим перейти к ZUUIRevealController части репозитория. Мы видим только версию 0.9.6, благодаря которой Cocopods узнает, какая это версия.

Итак, разветвите репозиторий спецификаций какао-бобов и откройте папку в SublimeMate Pro. Вы захотите добавить в эту папку следующую версию, допустим, вы собираетесь использовать 0.9.7. Создайте для этого папку и скопируйте ее поверх ZUUIRevealController.podspec из версии 0.9.6.

Новый podspec потребует некоторых изменений, так как он относится к тегу git v0.9.6, и в идеале вы хотите использовать 0.9.7. Теперь я проверил для вас, нет 0.9.7, что означает, что вам придется создать задачу с запросом нового тега, который кто-то уже сделал.

С новым тегом в репо вы можете переместить этот тег в свой подфайл. Затем в каталоге Specs запустите pod specs lint ZUUIRevealController, который сообщит вам, прошел ли ваш podspec проверку или нет. Если вы этого не сделаете, это будет сделано автоматически в вашем запросе на включение, и вполне вероятно, что это я расскажу вам, как это исправить.

Если это пройдет, вы можете зафиксировать это изменение и отправить запрос на включение в репозиторий Cocoapods/Specs. на гитхабе.

Чтобы обновить только для вас:

в вашем podspec вы можете установить фиксацию, с помощью которой вы хотите переопределить фиксацию обычного подфайла (например)

pod 'ZUUIRevealController', :git => 'git://github.com/orta/ZUUIRevealController', :commit => 'd4c9d810e0f0d1982472c8d1d5469841b09854ab'

Для этого может потребоваться сначала удалить каталог Pods, поскольку он мог кэшировать URL-адрес / commit.

person orta    schedule 14.12.2012
comment
Это работает, только если репозиторий git содержит podspec. Хотелось бы, чтобы был способ сделать это для репозиториев, у которых есть подспеки только в Cocoapods. - person Aneil Mallavarapu; 09.08.2013