# 15 CocoaPods 使用指南

CocoaPods 是 Objective-C 的一个依赖管理器，它可以自动化并简化在项目中使用第三方库的过程。

## 15.1 安装 CocoaPods

你可以用 RubyGems 工具包安装 CocoaPods，安装命令如下：

```
$ sudo gem install cocoapods
```

但有时运行该命令会报错：

```
$ ERROR:  While executing gem ... (Gem::FilePermissionError) $ You don't have write permissions for the /usr/bin directory.
```

原因是 “/usr/bin is protected by system integrity protection and is not writeable by anybody even root. ” 所以要把 CocoaPods 安装在 /usr/local/bin 路径下，使用如下命令：

```
$ sudo gem install -n /usr/local/bin cocoapods
```

install 加上参数 -n 表示 “Directory where executables are located”，参数含义可通过命令 "`gem help install"` 查询。

## 15.2 更新索引

安装完 CocoaPods 执行 `pod setup`，将所有的项目的 Podspec 文件更新到本地的 \~/.cocoapods/ 目录下。

```
$ pod setup
```

所有的项目的 Podspec 文件都托管在 https://github.com/CocoaPods/Specs.git 上，CocoaPods 在执行 `pod install` 和 `pod update`时，会默认先更新一次 Podspec 索引。如果更新太慢，可修改 repo 地址为国内的镜像，如 gitcafe 的镜像操作命令如下：

```
$ pod repo remove master $ pod repo add master https://gitcafe.com/akuandev/Specs.git $ pod repo update
```

也可修改为 oschina 的镜像 http://git.oschina.net/akuandev/Specs.git。

如果用户 pod 操作时没找到我们最近的 SDK 版本，截图如下：

![CocoaPods\_图1](https://6941759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmV4PIbrO79lRJl9HCeLg%2Fuploads%2Fgit-blob-c99f90226afc826a97cade65b2311cb69d81dc39%2FCocoaPods_%E5%9B%BE1.png?alt=media)

这种情况就是索引太旧需要更新了，执行命令 `pod repo update` 即可，或者在 `pod install` 的时候带上参数 `–-repo-update`。

## 15.3 `pod install` 和 `pod update` 的区别

执行 `pod install` 之后，CocoaPods 会生成一个名为 Podfile.lock 的文件。Podfile.lock 会锁定当前各依赖库的版本，之后如果多次执行 `pod install` 不会更改版本，要 `pod update` 才会改 Podfile.lock 了。这样多人协作的时候，可以防止第三方库升级时造成大家各自的第三方库版本不一致。

`pod install` 只会按照 Podfile 的要求来请求类库，如果类库版本号有变化，那么将获取失败。但是 `pod update` 会更新所有的类库，获取最新版本的类库。每次更改了 Podfile 文件，你都需要重新执行一次 `pod update` 命令。

## 15.4 查询 CocoaPods 版本

```
$ pod --version
```

## 15.5 Homebrew & RubyGems

Homebrew 是 Mac 平台的一个包管理工具，提供了许多Mac下没有的Linux工具等。官网：[https://brew.sh](https://brew.sh/)，官网上有安装命令：

```
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

安装完 Homebrew，就可以用 Homebrew 的命令 brew 来安装 RubyGems，命令安装如下：

```
$ brew install ruby
```

RubyGems 官网为 [https://rubygems.org](https://rubygems.org/)。
