#iOS 周报# 第 125 期周报发布啦!!
t.cn@JonyFang :Cocoapods 作为包管理工具,随着 Apple 生态的发展不断地迭代和进化,各部分核心功能也都演化出了相对独立的组件。这些功能独立的组件,均被拆分为一个个独立的 Gem 包,而 CocoaPods 则是这些组件的集合。本文主要介绍了CocoaPods 的主要构成,及各个组件在整个 Pods 工作流的关系。
可以带着这几个问题来看这篇文章:
- CocoaPods 的核心模块包含哪些?
- pod 命令是如何找到并启动 CocoaPods 程序的?
- pod install 的流程是怎样的?
- resolve_dependencies 阶段中的 pre_download 是为了解决什么问题?
- validate_targets 都做了哪些校验工作?
在我们知道了 CocoaPods install 的大致过程后,我们可以对其做一些修改和控制。例如知道了插件的 pre_install 和 post_install 的具体时机,我们就可以在 Podfile 中执行对应的 Ruby 脚本,达到我们的预期。同时了解 install 过程也有助于我们进行每个阶段的性能分析,以优化和提高 install 的效率。