CocoaPods 本质是 iOS/macOS 开发的依赖管理工具,类比前端的 npm、Java 的 Maven,其核心结构可以分为 4 个核心部分,形成一个完整的依赖管理闭环:
CocoaPods 核心结构:由客户端(pod 命令)、项目配置(Podfile)、本地 Specs 仓库、远程 Specs 仓库、缓存目录组成,核心是 “查配置文件 → 下载源码 → 安装到项目”。
Trunk 的本质:CocoaPods 官方默认的远程 Specs 仓库源,~/.cocoapods/repos/trunk 是它的本地副本,存储所有公开库的配置文件。
关键逻辑:你写 pod install 时,CocoaPods 先查本地 trunk 的 .podspec.json,再下载源码到缓存,最后安装到项目,这也是之前 JSON 解析错误的核心触发路径。
理解这个结构后,你就能明白:之前的错误是本地 trunk 副本里的配置文件损坏,所以清理 / 重新拉取 trunk 就能解决问题。

CocoaPods结构
核心组成部分拆解
| 组件 | 作用 | 本地路径 / 形态 |
|---|---|---|
| CocoaPods 客户端 | 核心执行工具(pod 命令),解析 Podfile、处理依赖逻辑 | 安装在系统中(which pod 可查路径) |
| Podfile/Podfile.lock | 项目级配置文件:Podfile 定义依赖,Podfile.lock 锁定版本(避免依赖漂移) | 项目根目录下 |
| 本地 Specs 仓库 | 存放所有第三方库的 .podspec.json 配置文件(核心!) | ~/.cocoapods/repos/ |
| 远程 Specs 仓库 | 官方 / 私有源的配置文件仓库(所有库的元数据) | 如官方 trunk 源:https://cdn.cocoapods.org/ |
| 本地缓存目录 | 缓存已下载的库源码,避免重复下载 | ~/Library/Caches/CocoaPods/ |