CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境,如果没有请自行查找安装。检测是否安装Ruby:
在终端输入:gem -v 就会出现Ruby版本号
在进行CococaPods安装的时候,遇到错误,错误提示大致意思是ruby版本太低,需要升级至2.2.2以上.果然,在终端使用ruby -v查看版本为2.0,这时我来升级ruby。
使用RVM也就是Ruby Version Manager,Ruby版本管理器来升级ruby,RVM包含了Ruby的版本管理和Gem库管理(gemset)。
1、 RVM安装
$ curl -L get.rvm.io | bash -s stable
2、 之后就是等待一段时间之后,就可以安装成功了
$ source ~/.bashrc
$ source ~/.bash_profile
3、 测试是否安装正常
$ rvm -v
如果出现rvm(版本号)就算是安装RVM成功了。
二、使用RVM升级Ruby
2、列出已知ruby的版本
$ rvm list known
3、安装ruby 2.2.4
$ rvm install 2.2.4
4、安装完之后,可以ruby -v 测试一下,看看版本有没有变化PS:首先说明一下,在这一步,需要按回车键,连续按几次,当然如果你没装xcode,需要先去装xcode,不然会报错接下来就是按常规的方法安装CocoaPods了!
5.切换 Ruby 版本
如果想设置为默认版本,这样一来以后新打开的控制台默认的 Ruby 就是这个版本
$ rvm use 2.2.4 --default
查询已经安装的ruby$ rvm list
卸载一个已安装版本$ rvm remove 1.8.7
RubyGems 镜像的管理工作以后将交由 Ruby China 负责,以便能有更多的社区爱好者参与进来,保持持续发展。
请尽可能用比较新的 RubyGems 版本,建议 2.6.x 以上。
$ sudo gem update --system # 这里请翻墙一下
$ gem -v
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com
4.安装CocoaPods,在终端输入指令:
sudo gem install -n /usr/local/bin cocoapods
如果安装了多个Xcode使用下面的命令选择
sudo xcode-select --switch /Applications/Xcode.app
稍等片刻即可安装完成,输入以下命令检测是否安装成功:pod --version
成功则会提示CocoaPods版本,这已经安装完,但是别高兴太早。
5.接着在终端输入:pod setup
这里下载很慢的,取决于网速,还会经常断开连接,我下载了很久几个小时吧,建议等待直到下载完毕。
所有的项目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs,pod setup在执行时,会输出Setting up CocoaPods master repo,但是会等待比较久的时间。这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,输入ls -a可看到隐藏的pod文件夹,输入cd .cocoapods进入pod文件夹,然后输入du -sh即可看到repos文件夹的容量,隔几秒执行一下该命令,可看到repos的容量在不断增大,待容量增大至500+M时,说明,repos文件夹索引目录已安装完毕。此时,pod功能即可正常使用,完全退出终端,重启终端,pod功能即可正常使用,期间如断开连接就继续pod setup。
pod repo update
pod install --no-repo-update
pod update --no-repo-update
6.关于 Podfile.lock
当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。
8.常见问题
在终端输入以下命令:pod repo list
结果为0 repos时说明安装不成功
导入Swift语言编写的类库时需要加use_frameworks!,下面以导入Alamofire为例:
更新
pod repo update
or with pod install --repo-update
.
参考:http://blog.devtang.com/2014/05/25/use-cocoapod-to-manage-ios-lib-dependency/#jtss-douban