CocoaPods是什么?
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过CocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
CocoaPods 使用:
CocoaPods是iOS最常用的第三方类库管理工具。
http://code4app.com/article/cocoapods-install-usage
参考:关于cocoapods的使用
1. http://www.360doc.com/content/14/0309/10/11029609_358970353.shtml
2. http://www.bubuko.com/infodetail-425274.html
CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。
CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。
一、安装
1.Ruby环境不够新,可能需要更新以下:
sudo gem update –system
2.查看服务器
gem sources -l
3.Ruby默认的服务器cocoapods.org,国内访问这个网址有时候存在问题,解决方式:清除,更换为淘宝
gem sources –remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
4.安装cocoapods
sudo gem install cocoapods
5.安装成功后,接着执行命令:
pod setup
二、给项目添加三方库
至此安装就完成了,我们可以尝试搜索一个第三方类库:
pod search AFNetworking
1.使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:
cd (直接拖项目的路径)
查看项目目录下的文件夹
ls
2.touch Podfile
3.然后利用vim打开Podfile文件编辑
sudo vi Podfile
进入编辑窗口,切换成美式英语输入状态,i是进入编辑状态,编辑结束,按esc按键,再按shift+:,输入wq保存退出
在编辑窗口的输入内容格式如下:
platform :ios, 系统版本
pod ‘Reachability’, 三方库版本
例如:
platform:ios, ‘6.0’
pod ‘JSONKit’,’1.4’
pod ‘AFNetworking’, ‘~> 2.3.1’
如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:
pod update
最后一步,执行命令:
pod install
当终端出现类似下面的提示后,就代表成功了:
[!] From now on use Sample0814.xcworkspace
.
这个时候会看到项目文件夹下多了一个文件xxx.xcworkspace,以后要通过这个文件打开项目,老项目文件xxx.xcodeproj不再使用。
P.s.1 上面的每一步都有可能出现问题,但大部分问题都是因为大局域网的原因,用一个网速稳定的境外VPN可破。
P.s.2 如果上面因为权限问题安装失败,必须每次都要删除
rm -rf /Users/loginnanme/Library/Caches/CocoaPods/
因为这个缓存中会存下你的github的东西,造成每次都调用上次权限问题的缓存。
P.s.3 关于Podfile文件编辑时,第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
control+c取消正在进行的命令
clear 清空上面终端命令的内容