我正在关注 Firebase 上的互联网教程,作为其中的一部分,我必须在命令行上做一些工作。我对命令行很熟悉,但我对 Cocoapods 不熟悉。我跑了pod repo update
,但这样做之后我意识到我是在我的 Mac 的整个 Documents 文件夹上运行它,而不是在包含我的项目的文件夹上运行它。我花了 20 多分钟来执行,当它最终完成时,它打印出了数以千计的东西,其中一些包括“创建”和“删除”。我有点担心——运行这个命令会修改我的文档中除了 Firebase 项目之外的任何内容吗?pod repo update
甚至为此做了什么?
2 回答
根据文档pod repo update更新位于~/.cocoapods/repos
您的主文件夹中的规范 repos。
更新 spec-repo NAME 的本地克隆。如果 NAME 被省略,这将更新 ~/.cocoapods/repos 中的所有 spec-repos。
repo
基本上是所有可用 pod 和版本的列表。我刚刚在我们的 CI 构建中遇到了一个错误,因为 repo 没有包含我刚刚添加的库的规范。通过运行pod repo update
它现在知道这个较新的版本并且可以继续安装它。
因此,回答您的问题..pod repo update
在您的文档文件夹中运行不会在该文件夹中执行任何操作。它将~/.cocoapods/repos
仅在您的文件夹中更新其 pod 规范引用。
主要的 Specs repo 只不过是所有 PodSpecs 的列表。PodSpec是:
规范描述了 Pod 库的一个版本。它包括有关应从何处获取源的详细信息 [哪个标记或提交或分支]、要使用的文件、要应用的构建设置以及其他一般元数据,例如其名称、版本和描述。
specs 目录只不过是所有不同 PodSpecs 的列表。每个版本的 PodSpec 都在一个标签目录下。repo 不包含 pod 本身。存储库包含 PodSpec。PodSpec 给出了 repo 的位置和一堆其他元数据⚡︎
spec.source = { :git => 'https://github.com/tonymillion/Reachability.git', :tag => 'v3.1.0' }
当您这样做时pod repo update
,您将从https://github.com/CocoaPods/Specs拉出最新的 PodSpecs(不是实际的 pod) 。如果您只想更新单个 pod 源,那么只需执行pod repo update [NAME]
Cocoapods/Specs 主仓库:
单个 PodSpec 4.7.3 :
⚡︎:PodSpec:规范描述了 Pod 库的一个版本。它包括有关应从何处获取源、要使用的文件、要应用的构建设置以及其他通用元数据(例如其名称、版本和描述)的详细信息。
您的实际项目通过pod update
或pod install
然后将物理文件下载到您的 Mac 并为您的项目复制代码来提取代码。