`pod repo update`究竟做了什么?

时间:2017-04-29 23:15:13

标签: cocoapods

我正在关注Firebase的互联网教程,作为其中的一部分,我必须在命令行中做一些工作。我对命令行非常熟悉,但我对Cocoapods不熟悉。我跑了pod repo update但是在这之后我意识到我在Mac的整个Documents文件夹上运行它而不是包含我的项目的文件夹。我花了20多分钟来执行它,当它最终完成时,它打印出数以千计的东西,其中一些包括"创建"和"删除"。我有点担心 - 除了Firebase项目之外,运行此命令是否修改了我的文档中的任何内容?那pod repo update甚至做了什么呢?

2 个答案:

答案 0 :(得分:51)

根据文档pod repo update更新位于主文件夹中~/.cocoapods/repos的规范库。

  

更新spec-repo NAME的本地克隆。如果省略NAME这个   将更新〜/ .cocoapods / repos中的所有spec-repos。

repo基本上是所有可用pod和版本的列表。我刚刚在CI构建中遇到错误,因为repo没有包含我刚刚添加的库的规范。通过运行pod repo update,它现在知道这个更新的版本并可以继续安装它。

所以回答你的问题。在你的文件夹中运行pod repo update将不会在该文件夹中执行任何操作。它将仅在~/.cocoapods/repos文件夹中更新其pod规范引用。

答案 1 :(得分:2)

主要的cocoapods存储库不过是所有podspec的列表。 podspec是:

  

规范描述了Pod库的版本。它包括有关应从何处获取源,使用哪些文件,要应用的构建设置以及其他常规元数据(例如其名称,版本和描述)的详细信息。

specs目录不过是所有不同podspec的列表。每个版本的podspec都位于标签目录下。 回购中不包含广告连播本身。回购包含podspec。 podspec给出了仓库的位置。

spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' }

执行pod repo update后,您将从https://github.com/CocoaPods/Specs中提取最新的podspec(不是实际的pod)

Cocoapods主仓库:

enter image description here

list of some Alamofire podspecs

enter image description here

A single podspec 4.7.3:

enter image description here