CocoaPods安装和使用--(版本依赖写的特别的清楚大于和小于等版本号的写法)

CocoaPods安装和使用

CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。

CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统认已经可以运行Ruby了,因此我们只需执行以下命令:

sudo gem install cocoapods
sudo gem install -n /usr/local/bin cocoapods

由于某些原因,执行时会出现下面的错误提示

ERROR:  Could not find a valid gem 'cocoapods' (>= 0),here is why:
          Unable to download data from https://rubygems.org/ - Errno::EPIPE: broken pipe - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)

当你使用代理后如果还是很慢,可以用淘宝的RubyGems镜像来代替官方版本,执行以下命令:

$ gem sources -l
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l

安装成功后,接着执行命令:

pod setup

如果Ruby环境不够新,可能需要更新以下:

sudo gem update --system

至此安装就完成了,我们可以尝试搜索一个第三方类库:

pod search AFNetworking

使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件

touch Podfile

然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:

platform :ios pod 'Reachability',3.1.0' platform:ios,6.0' pod JSONKit1.4AFNetworking~> 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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...