13

I'm having some problem with my installed pods. They are not pulling the most recent (bug-fixed) version of their libraries from Github, and hence my Xcode compiler is full of warnings. I don't understand how Cocoapods works an entirely, and I'm wondering if anyone can clear it up.

  1. How does Cocoapods know when a new version of a library is available?

  2. What is required for Cocoapods to retreive the latest version via the

    sudo pod install
    

    comand?

  3. How often and for what reason does a podspec need to be updated? Does it need to be updated by the author of the podspec only or by anyone?
4

3 に答える 3

8

Cocoapod は通常、特定のリポジトリ タグとバージョンにリンクされているため、AQGridViewを見ると 2 つのバージョンが表示されます。バージョン 1.2 は具体的にコミットを参照しcommit => 'f6c5589a6dabfff693fc7def7342327b9b0df3f9、1.3 は異なります。最初にpod install1.2 を実行したのが最後のバージョンだった場合、下位互換性を壊さないように、常にバージョン 1.2 を取得します。

pod updateバージョンに更新したい場合は、既存の podspec ファイルを確認し、最新バージョン ( cocoapods で!) を探してそれらを使用することを実行できます。

ココアポッドを使用したいが、特に最新バージョンにアクセスしたい場合は、ここでその方法を説明している wiki ページがあります。

それで、それで、

  1. 誰かが Specs リポジトリを更新しても、コンピューターのポッドはこれをすぐには認識しません。実行pod repo updateして、最新の状態であることを確認できます。自動チェックが頻繁に行われることを期待しています。

  2. 上記のように、実行pod updateすると最新の podspec バージョンが使用されます

  3. Podspec は、人々が自分のライブラリにバージョン番号を付けたいと思うたびに更新されます。理想的には、ポイント リリースをリリースするたびに、対応する Podspec をレポに送信する必要があります。そうすれば、誰もが更新できることを知ることができます。ボランティアによって頻繁に更新されますが、作成者が自分のライブラリを更新することもあります。

于 2012-11-30T13:31:48.347 に答える
4

pod install最新バージョンをインストールしません! デフォルトで最新バージョンを使用することはお勧めできません。常に正確なバージョンを指定するか、悲観的なバージョン制約 ( ~>) を使用する必要があります。

新しいバージョンに関する通知を受け取るには、VersionEyeを使用できます。ポッドを直接フォローして、更新が利用可能になるとすぐに電子メール通知を受け取ることができます。さらに、GitHub リポジトリを直接監視し、プロジェクト内の古いポッドについて通知することもできます。それが最も便利な方法です。詳しくはこちらをご覧ください

新しいバージョンの通知を受け取った場合は、まずバージョン番号を確認する必要があります。Pod プロジェクトがhttp://semver.org/を使用している場合は、ビルドを壊さずに更新できるかどうかをバージョン番号で確認できます。最悪の場合、これはメジャー リリースであり、ビルドが壊れる可能性が非常に高くなります。その場合、変更ログと移行パスを確認する必要があります。正しく更新する方法について知りたい場合は、継続的な更新に関するスライドをご覧ください。

于 2013-11-29T12:41:03.443 に答える
0

CocoaPods (最新) バージョンを更新する場合は、$sudo gem install cocoapodsを実行できます

プロジェクトのすべてのライブラリを更新したい場合は、$pod updateを直接実行するか、誰かのライブラリを更新して$pod update [POD_NAMES ...]を実行できます <<--- プロジェクトを更新するためにいつでも使用できるコマンド(新しいライブラリがリリースされた場合)、各ライブラリを手動で確認しない限り。

于 2015-04-08T05:20:10.387 に答える