CocoaPods的安装和使用

来源:互联网 发布:aerial windows 编辑:程序博客网 时间:2024/06/05 08:04

CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。
安装:
CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。OS X系统默认已经可以运行Ruby了,因此只需执行以下命令:

$ sudo gem install 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 --remove https://rubygems.org/$ gem sources -a https://ruby.taobao.org/

验证Ruby镜像是并且仅是taobao,可以用以下命令查看:

$ gem sources -l

只有在终端中出现下面文字才表明上面的命令是成功的:

*** CURRENT SOURCES ***http://ruby.taobao.org/

这时候,再次在终端中运行:

$ sudo gem install cocoapods

CocoaPods就可以在本地下载并且安装好了
使用:
尝试搜索一个第三方类库:

$ pod search AFNetworking

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

$ vim Podfile

加入你想要使用的类库,格式如下:

platform :ios, '7.0'pod "AFNetworking", "~> 2.0"

注意,这段文字可以在AFNetworking的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。
在项目目录中,出现一个名字为Podfile的文件,而且文件内容就是刚刚输入的内容。Podfile文件应该和工程文件.xcodeproj在同一个目录下。

利用CocoPods下载AFNetworking类库:

$ pod install

这个时候会看到项目文件夹下多了一个文件xxx.xcworkspace,以后要通过这个文件打开项目,老项目文件xxx.xcodeproj不再使用

如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:

$ pod update

如果刚刚你不是输入$ pod update,而是输入$ pod install,会发现类库导入不成功,并且终端出现下面提示:

[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`.Available versions: 0.1.6

意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。$ pod install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是$ pod update 会更新所有的类库,获取最新版本的类库。而且如果用了 $ pod update,再用$ pod install 就成功了

那什么时候用 $ pod install,什么时候用 $ pod update呢,不知道类库有没有新版本。好吧,每次直接用 $ pod update 算了。或者先用 $ pod install,如果不行,再用 $ pod update

关于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.0pod ‘AFNetworking’, ‘~>0.1//使用大于等于0.1但小于1.0的版本pod ‘AFNetworking’, ‘~>0//高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

****************不华丽的分割线****************
10月15日补充
问题:系统升级至10.11后,不能使用cocoapods
解决方法:$ sudo gem install -n /usr/local/bin cocoapods

0 0
原创粉丝点击