背景
很多 iOS 项目都是基于特定版本的 CocoaPods,使用其他版本的 CocoaPods 执行 pod install 或 pod update可能出现项目无法编译的问题。
由于我们的电脑上很有可能使用了其他的版本,本文主要介绍如何解决这种多版本 CocoaPods 切换的问题。
查看本地装的pod
可以通过1
gem list --local | grep cocoapods
命令来查看我们电脑上安装了哪些版本的pod,并可以通过1
pod --version
来查看当前默认版本。
使用Bundler
Bundler 是一个 Ruby 项目的管理工具,可以理解成为 Ruby 界的 “CocoaPods”。准确来说,CocoaPods 是借鉴了 Bundler 的思想和模式。由于 CocoaPods 本身也是一个 Ruby 项目,因此我们可以通过 Bundler 来管理我们要使用的 CocoaPods 版本,完整的步骤如下所示:
安装Bundler,打开终端输入以下命令:
1
gem install bundler
在终端中进入到项目所在的根目录就是podfile所在的目录。
创建Bundler的配置文件Gemfile,在终端中输入下面的命令即可。
1
bundle init
在Gemfile中设置cocoapods的版本。例如:
1
2source "https://rubygems.org"
gem "cocoapods", "1.5.3"安装特定版本的pod,如果已经安装则可忽略这一步。执行如下命令:
1
bundle install
此时,Gemfile中配置的pod版本就安装到本地了。
- 使用Bundler控制上一步安装的pod来安装我们所需的pods。除了有bundle exec 这个前缀,其他和我们平时用pod命令一样。若去掉bundle exec 这个前缀,运行的就是默认版本的cocoapods了。
1
bundle exec pod install
另外,还可以通过其他方式运行指定版本的pod,如:1
pod _1.5.3_ install
亲测有效。