Вопросы Cocoapods: как Cocoapods узнает, когда доступна новая версия библиотеки? так далее

У меня возникли проблемы с установленными модулями. Они не загружают самую последнюю (с исправленными ошибками) версию своих библиотек с Github, и, следовательно, мой компилятор Xcode полон предупреждений. Я не понимаю, как работает Cocoapods, и мне интересно, может ли кто-нибудь это прояснить.

  1. Как Cocoapods узнает, когда доступна новая версия библиотеки?

  2. Что требуется для Cocoapods, чтобы получить последнюю версию через

    sudo pod install
    

    команда?

  3. Как часто и по какой причине необходимо обновлять podspec? Обновлять его должен только автор подспека или кто угодно?

person zakdances    schedule 30.11.2012    source источник
comment
Примечание: для пользователей BEGINNER какао-стручков вот очень важная информация: надеюсь, что это поможет stackoverflow.com/questions/22285783/   -  person Fattie    schedule 11.04.2014


Ответы (3)


Cocoapods обычно связаны с определенным тегом и версией репозитория, поэтому, глядя на AQGridView, мы можем увидеть две версии: версия 1.2 конкретно относится к коммиту commit => 'f6c5589a6dabfff693fc7def7342327b9b0df3f9, а версия 1.3 отличается. Если при первом запуске pod install 1.2 была последней версией, вы всегда получали версию 1.2, чтобы не нарушать обратную совместимость.

Если вы хотите обновить до версии, вы можете запустить pod update, который проверит ваш существующий файл podspec и найдет последние версии (на Cocoapods!) и использует их.

Если вы хотите использовать CocoaPods, но получить доступ к последней версии специально для одного из них, есть вики-страница, на которой написано, как это сделать здесь

Итак, с этим вниз,

  1. Когда кто-то обновляет репозиторий Specs, модули на вашем компьютере не узнают об этом мгновенно, вы можете запустить pod repo update, чтобы убедиться, что у вас самая последняя версия. Я ожидаю, что это автоматически проверяет время от времени.

  2. Упоминалось выше, если вы запустите pod update, он будет использовать последние версии podspec.

  3. Подспецификации обновляются так часто, как люди хотят, чтобы их библиотеки имели номер версии, в идеале, всякий раз, когда вы выпускаете точечный выпуск, вы также должны отправлять соответствующую подспецификацию в репозиторий, и тогда все знают, что они могут обновляться. Он довольно часто обновляется добровольцами, но у нас есть авторы, обновляющие свои собственные библиотеки.

person orta    schedule 30.11.2012
comment
Итак, каждый раз, когда я исправляю некоторые ошибки в своем коде, мне нужно обновлять файл конфигурации в репозитории CocoaPods? Нужно ли мне добавлять теги для исправления ошибок в следующих версиях моего кода? v1.2, v1.3 и так далее? - person AndrewShmig; 26.06.2013
comment
Тегирование версий — это всегда хорошая идея. И если вы это сделаете, я рекомендую использовать семантическое управление версиями: semver.org. Это помогает заранее распознать, насколько велики изменения. - person Robert Reiz; 29.11.2013
comment
+1 за pod repo update, это то, что я искал здесь. Спасибо! - person livingtech; 10.04.2014

pod install не устанавливает самые новые версии! Использование самой новой версии по умолчанию — плохая идея. Всегда следует указывать точные версии или использовать пессимистическое ограничение версии (~>).

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

если вы получаете уведомление о новой версии, вы должны сначала проверить номер версии. Если проект модуля использует http://semver.org/, вы уже можете узнать номер версии, можете ли вы обновить не нарушая сборки. В худшем случае это крупный релиз, который, скорее всего, сломает вашу сборку. В этом случае вам необходимо проверить журналы изменений и путь миграции. Если вы хотите узнать, как правильно обновлять, посмотрите слайды, посвященные непрерывному обновлению.

person Robert Reiz    schedule 29.11.2013

Если вы хотите обновить версию CocoaPods (новейшую), вы можете выполнить $sudo gem install CocoaPods.

если вы хотите обновить всю библиотеку своего проекта, вы можете напрямую выполнить $pod update или обновить чью-либо библиотеку, вы можете выполнить $pod update [POD_NAMES ...] ‹‹ --- эти команды вы можете использовать в любое время для обновления вашего проекта (если новая библиотека была выпущена), если только не проверять каждую библиотеку вручную.

person Eppes Yeh    schedule 08.04.2015