一、什么是CocoaPod
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
二、安装
由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下:
注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境
1、Ruby环境搭建
当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。
a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)
b 更新ruby
终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用来检查使用替换镜像位置成功)
2、下载安装CocoaPods
从github上下载完成后,打开文件夹中的/bin/sandbox-pod
运行结束后,终端输入:sudo gem install cocoa pods
最终出现: gem installed
这样就下载安装好了CocoaPods
3、使用CocoaPods
a 新建一个项目,名字PodTest
b 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
c 建立Podfile,配置文件
键盘输入 i,进入编辑模式,输入
platform :ios, '9.2'// platform平台, '9.2'当前版本在这里可以只写platform:ios
pod 'MBProgressHUD', '~> 0.9.1'// 'MBProgressHUD'第三方名称, '~> 0.9.1'当前版本号
然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入
注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件
最后,确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
(出现Setting up CocoaPods master repo,说明Cocoapods在将它的信息下载到 ~/.cocoapods里;
cd 到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,这个目录最终大小是100多M,就是完成了)
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace,每次更改了 Podfile文件,你需要重新执行一次"pod update命令。(如果终端出现updating local specs repositories,那么请用ctrl+c强制结束命令进程,然后执行pod update --verbose --no-repo-update或者pod update --no-repo-update"
补充:
1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
pod 'JSONKit', '~> 1.5'pod 'AFNetworking', '~> 2.0'
2、CocoaPods可以查找你想要的第三方库
例如:MBProgressHUD,需要输入一下命令pod search MBProgressHUD,会得到以下结果
-> MBProgressHUD (0.9.2)
-> MBProgressHUD+BWMExtension (1.0.1)
-> MBProgressHUD-OSX (0.0.1)
-> MBProgressHUDExtensions (0.0.1)
-> MBProgressHUDExtensions@donly (0.3)
好的,至此,cocoa pod的配置和简单使用就告一段落,然而还是会有很多突发的状况发生,下面我来总结下一些常见的错误:
1.pod install之后出现Creating shallow clone of spec repo `master-1` from `https://github.com/CocoaPods/Specs.git`卡死情况,就在执行pod install之前执行pod setup
2."pod setup时报错解决办法"
出错:pod setup的时候报错, argumenterror , syntax error on line 4, col 0: `min:0.29.0`
解决方法如下:
1.命令行运行
# -rf ~/.cocoapods/repos
# pod setup(这个我还是没成功,报错ruby里什么找不到文件,于是我更新ruby,如果你成功了,就不用了)
2.更新ruby
xcode->preference->download里安装Command Line Tools
安装rvm:命令行里运行
$ curl -L get.rvm.io | bash -s stable
等待,运行
$ source ~/.bashrc
$ source ~/.bash_profile
查看安装
$ rvm -v
升级ruby:
$ rvm install ruby 2.1.1
ruby升级好了,查看版本 $ ruby -v
3.重新运行
$ pod setup
成功