在iOS项目开发中,我们不可避免地要使用到第三方的开源库。可能项目需要的某个类库又要用到其他类库,所以你在下载类库的同时又要下载相关类库,如果相关类库又依赖或者用到其他的类库,那么你就得下载相关类库,如此往复相当复杂。而且另外常见的情况就是,相关的类库可能完成更新,这时候又需要重新下载新的版本,重新添加项目中。所以步骤相当繁琐。cocoapods在此基础上应用而生。
那么cocoapods究竟是什么呢?
直白点说cocoapods就是一个管理三方开源库的工具,其源代码托管在github上。项目起始于2011年8月12日,到目前为止一直持续活跃。
那么cocoapods为编程人员带来哪些福利呢?
以前得手动下载并安装所需要的开源三方库,甚至是其依赖的库。而当我们下载了cocoapods之后,仅仅几行命令就可以实现:
(1) search相关的开源三方库,筛选出项目需要的版本
(2) 创建一个名为podfile的配置文件到项目中(只创建一次即可)
(3) 将search到的三方库所需版本号写入,类似以下格式:
‘pod AFNetworking', '~> 3.0.0’
(4) 执行install安装命令,然后就搞定了。
CocoaPods就会自动将这些第三方开源库的源码下载下来,并且为工程设置好相应的系统依赖和编译参数。相比手动下载cocoapods显然要便捷得多,为开发简化一系列的繁琐的步骤,节省了大量的时间。
那么cocoapods如何安装呢?
cocoapods的安装依赖ruby环境,而mac一般都自带ruby环境。所以,安装cocopods的时候首先更新一下mac的ruby环境即可。
(稍稍了解一下:ruby是一种简单快捷的面向对象脚本语言,在20世纪90年代由日本人松本行弘开发。)安装步骤如下:
(1) 升级ruby环境: sudo gem update —system
(2) gem sources --remove https://rubygem.org/
【ps: 因为安装cocoapods时要访问cocoapods.org,该网站可能被墙压根无法访问,所以可以用淘宝的ruby镜像来访问该网站】
(3) 使用淘宝镜像访问:gem sources -a https://ruby.taobao.org/
(4) 验证镜像是且仅是taobao的命令: gem sources -l
(5) 安装cocoapods命令: sudo gem install cocoapods
【ps: 显示successfully installed 安装完成】
(6) pod setup
安装过程中如果一直提示:
_Error installing cocoapods:
activesupport requires Ruby version >= 2.2.2.
这是因为mac的ruby的版本太低所以导致无法安装,所以需要使用RVM升级ruby。
升级ruby的步骤如下:
安装RVM命令行: curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
测试是否安装正常:rvm -v
使用RVM升级ruby,查看当然ruby的版本: ruby -v
列出ruby的已知版本: rvm list known
安装要求的最新ruby版本: rvm install 2.2.4
安装完成后查看ruby版本是否完成升级: ruby -v
升级到要求的ruby版本之后再次安装cocoapods便可。安装之后可能遇到一直无限卡在:
Setting up CocoaPods master repo
原因大致是更新之后的文件大约是之前的3倍多大致390M?所以你懂,需要一个好的网速以及时间。淘宝镜像据说有时候也很慢, 所以当我尝试切换回http://rubygem.org/ 的时候,一直提示超时:timed out。
恩,所以耐心点等吧【面瘫脸
那么安装好cocoapods之后如何使用呢?
搜索三方库: pod search AFNetworking
在桌面上创建xcode的工程并进入:
cd /Users/zhouyujie/Desktop/TamiShow
创建配置文件命令: touch Podfile
进入配置文件并编辑: vim Podfile
platform:ios,'8.0' pod’AFNetworking’,’~>3.1.0’……
执行命令导入库:pod install
到项目中查看是否通过cocoapods导入成功。
如果安装的过程中一直提示
[!] The dependency
AFNetworking (~> 3.1.0)
is not used in any concrete target.
那么应该是cocoapods安装到最新版本了,需要更改一下podfile的文件格式。步骤如下:
查看当前pod的版本:pod - -version(版本1.0.1为最新版本)
如果是以前版本那就执行上述cocoapods使用方法,如果是新版本,那就改变podfile文件格式。
以前格式:
platform:ios,’7.0'
pod 'MJRefresh', '~> 3.1.0’
pod 'SDWebImage', '~> 3.7.6’
pod 'SVProgressHUD', '~> 2.0.3’
更改为:
platform:ios,’8.0'
target "TamiShow" do
pod 'MJRefresh', '~> 3.1.0’
pod 'SDWebImage', '~> 3.7.6’
pod 'SVProgressHUD', '~> 2.0.3’
end
以上就是整个cocoapods的安装过程,满满的全是眼泪,亲测有效!