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