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

Cocoapods 通常链接到特定的存储库标签和版本,因此查看AQGridView我们可以看到两个版本,版本 1.2 专门指提交commit => 'f6c5589a6dabfff693fc7def7342327b9b0df3f9,而 1.3 不同。如果您第一次运行pod install1.2 是最后一个版本,您将始终获得 1.2 版本,以免破坏向后兼容性。

如果您想更新到版本,您可以运行pod update它将检查您现有的 podspec 文件并查找最新版本(在 cocoapods 上!)并使用它们。

如果您想使用 cocoapods 但访问专门针对其中一个的最新版本,则有一个 wiki 页面说明如何在此处进行操作

所以有了这个,

  1. 当有人更新 Specs 存储库时,您计算机上的 pod 不会立即知道这一点,您可以运行pod repo update以确保您是最新的。我希望它经常自动检查。

  2. 上面提到的,如果你运行pod update它将使用最新的 podspec 版本

  3. Podspec 的更新频率与人们希望他们的库具有版本号一样频繁,理想情况下,每当您发布一个点发布时,您还应该向 repo 提交相应的 podspec,然后每个人都知道他们可以更新。它经常由志愿者更新,但我们确实让作者更新他们自己的库。

于 2012-11-30T13:31:48.347 回答
4

pod install不安装最新版本!默认情况下使用最新版本是个坏主意。您应该始终指定确切的版本或使用悲观版本约束 ( ~>)。

要获得有关新版本的通知,您可以使用VersionEye。您可以直接关注 pod,以便在有可用更新时接收电子邮件通知。除此之外,它还可以直接监控您的 GitHub 存储库并通知您项目中过时的 pod。这是最方便的方式。你可以在这里阅读更多。

如果您收到新版本的通知,您应该首先检查版本号。如果 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 回答