CocoaPods是一个负责管理iOS项目中第三方开源库的工具。它可以方便我们进行第三方的管理
首先 安装 RVM
打开终端
$ curl -L https://get.rvm.io | bash -s stable
期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。
然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)
$ source ~/.rvm/scripts/rvm
检查一下是否安装正确
$ rvm -v
如果出现跟下面类似的字符,则表明安装正确
rvm 1.27.0 (latest) by Wayne E. Seguin
用 RVM 安装 Ruby 环境
列出已知的ruby版本
$ rvm list known
会出现以下字符
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.8]
[ruby-]2.2[.4]
[ruby-]2.3[.0]
[ruby-]2.2-head
ruby-head
可以选择现有的rvm版本来进行安装(假设以rvm 2.0.0版本的安装为例)
$ rvm install 2.0.0(可能需要管理员权限,使用sudo. $ sudo rvm install 2.0.0)
附加一些rvm操作方法
查询已经安装的ruby
$ rvm list
卸载一个已安装版本
$ rvm remove 2.0.0
RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
$ rvm 2.0.0 --default
同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本
这个时候你可以测试是否正确
$ ruby -v
会出现 ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]类似字符
$ gem -v
2.6.3
这时候注意Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:
$gem source -r https://rubygems.org/
$ gem source -a https://ruby.taobao.org
要想验证是否替换成功了,可以执行:
$ gem sources -l
正常的输出结果:
*** CURRENT SOURCES ***
https://ruby.taobao.org
到这里就已经把Ruby环境成功的安装到了Mac OS X上
接下来就是CocoaPods的安装
这时候,你再次在终端中运行:
$ sudo gem install cocoapods
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
当然我们也可以更新我们的CocoaPods,同样也是使用ruby的gem命令:
$ sudo gem update cocoapods
然而你也可以更新CocoaPods的预览版,执行下面的命令:
$ sudo gem update cocoapods --pre
接下来我们要在项目里添加CocoaPods管理器
通过cd + 路径进入我们的项目
例如 $ cd /Users/Chen/Desktop/CocoaPodsTest 如果你不知道自己的路径,可以将文件夹拖入Termal。会自动帮你完成路径
进入以下路径
这时候需要创建一个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意:文件名固定,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库。每个项目只需要一个Podfile文件。
利用vim创建Podfile,运行:
$ vim Podfile
点击i进入编辑模式
然后在Podfile文件中输入以下文字:
platform :ios, '7.0'
pod 'MJRefresh', '~> 3.1.0'
这句话意思是支持的iOS最高版本是iOS7.0, 要下载的MJRefresh版本是3.1.0
然后保存退出。vim环境下,保存退出命令是:
按下ESC 然后输入:wq再回车
使用CocoaPods查找第三方库
如果我们不知道cocoaPods管理的库中,是否有你想要的库,那么你可以通过$ pod search xxx命令进行查找,
例如:
$ pod search MJRefresh
会出现
-> MJRefresh (3.1.0)
An easy way to use pull-to-refresh
pod 'MJRefresh', '~> 3.1.0' //你只需要将这句话加上就好了
- Homepage: https://github.com/CoderMJLee/MJRefresh
- Source: https://github.com/CoderMJLee/MJRefresh.git
- Versions: 3.1.0, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1,
3.0.0, 2.5.0, 2.4.12, 2.4.11, 2.4.10, 2.4.9, 2.4.8, 2.4.7, 2.4.6, 2.4.5,
2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.2, 2.3.1, 2.3.0, 2.2.1, 2.2.0, 2.1.0,
2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.4.7, 1.4.6, 1.4.5, 1.4.4, 1.4.3, 1.4.1,
1.4.0, 1.3.8, 1.3.7, 1.3.6, 1.3.5, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.0,
1.1.0, 1.0.5, 1.0.4, 1.0.3, 0.0.1 [master repo]
这时候输入
$ pod install
会出现以下效果。时间会有点慢。
这时候打开项目文件夹
我们可以看见项目多了很多东西。
以后打开项目通过选中的这个,而不用原来文件。
我们还需要更改一个属性:将Other Linker Flags 值设为 $(inherited)
当我们以后使用coacoaPods时我们只需要更改项目里的Podfile文件
当我们每次修改了Podfile这个文件后,一定要记得执行命令:$ pod install,还可以执行$ pod update来更新类库
在使用pod install/pod update更ai新很慢,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
主要事项
1、那是因为 淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/)
需要的命令行:
$ gem sources -r https://rubygems.org/ (移除旧版本的镜像,如果你不知道你电脑上目前用的是什么镜像,可用 $ gem sources -l 来查看)
$ gem sources -a https://gems.ruby-china.org/ (增加可用的镜像)
$ gem sources -l (用来检查使用替换镜像位置成功)
2、当pod setup 进入Setting up CocoaPods master repo 等待的时候表示正在下载了,此时你可通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看正在下载的文件夹的大小
3、当出现如下
[!] An error occurred while performing `git pull` on repo `master`.
[!] /usr/bin/git pull --ff-only
这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:
原因: Cocoapods的分支不支持当前最新的Xcode版本
解决办法: 删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
然后再: pod setup