本文写于2016年9月,安装Cocoapods 用于iOS开发,可直接用Mac上的终端从GitHub上将第三方框架应用到工程中,接下来的安装配置基于上一篇文章《在Mac OS X上安装 Ruby运行环境》所配置的系统环境。


Cocoapods的安装

1.升级Ruby环境

如果Ruby没有安装,请参考 《在Mac OS X上安装 Ruby运行环境》。
gem是一种文件组织的包,基于ruby开发,一般的ruby的很多插件都由各种包提供。

注:以下代码区域,带有 $ 打头的表示需要在控制台(终端)下面执行(不包括 $ 符号),下一行为结果,不需码入。

$ sudo gem -v
$ sudo gem update --system

2.安装Cocoapods时我们要访问cocoapods.org,用Ruby China的RubyGems镜像来代替,执行以下命令:

12月20日更新:RubyGems 镜像的管理工作已由淘宝转交 Ruby China 负责,https://ruby.taobao.org/ 更改为 https://gems.ruby-china.org/ 下面已做处理

$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://gems.ruby-china.org/

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

$ gem sources -l

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

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

3.1 安装Cocoapods,在终端输入命令:

注意:(Mac版本10.11以上,请直接跳到3.2)

$ sudo gem install cocoapods

3.2 Mac系统版本10.11以上,上面的命令不生效

sudo gem install -n /usr/local/bin cocoapods
sudo xcode-select --switch /Applications/Xcode.app

4.安装:

//将 Cocoapods Specs repository 复制到你电脑上 ~/.cocoapods 目录下
pod setup

安装需要花费比较多时间,请耐心等待,到这里你已经成功安装了Cocoapods。

5.问题

(1)如果遇到如下问题:
图片描述

移除原来的cocoapods:

$ sudo gem uninstall cocoapods  //交互时选择 y 

重新执行3和4步。

(2)如果安装失败 ~/.cocoapods 文件夹里面是空的,就需要重新setup,命令如下:

pod repo remove master  
pod setup

另附:

pod --version //查询cocoapods版本
sudo gem install cocoapods --pre //更新cocoapods版本
pod setup解决方案

1.访问 https://github.com/CocoaPods/...,然后将Specs项目fork到自己的github账户上。
2.下载GitHub Desktop, 然后clone Specs项目。
3.将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
4.运行pod setup

解释:pod setup的本质就是将https://github.com/CocoaPods/...上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。

更新
可以使用国内的镜像地址(https://coding.net/u/hging/p/...),直接clone到/Users/用户名/.cocoapods/repos目录下,再将文件夹重命名为master。


Cocoapods的使用

1.使用search命令搜索类库名:比如AFNetworking

$ pod search AFNetworking

得到结果如下图:
图片描述

从这个图上,我们看到AFN有好多版本,最新的版本是3.1.0.
注意第三行,这是我们接下来要添加到Podfile文件里面的内容。
按q退出

2.

(1)打开Xcode,新建一个工程,工程名为swift_test。

(2)使用跳转命令cd到工程目录下:cd后面跟空格,然后跟的是工程目录名。

$ cd /Users/ZGZ/Desktop/swift_test 

(3)回车后,输入命令---在工程目录下,创建了一个Podfile文件

$ pod init

3.使用vim编辑Podfile文件

$ vim Podfile

然后在Podfile文件中输入以下文字:

$ pod 'AFNetworking', '~> 3.1.0’

按“ i ”进行编辑,在编辑完后按 esc ,然后按" : ",再输入wq保存退出。

4.利用cocopods下载AFNetworking类库

还是在终端中的当前项目目录下,运行以下命令:

$ pod install 

安装成功后,在工程目录里会看到多了一个.xcworkspace工程,以后打开项目就用 swift_test.xcworkspace 打开,而不是之前的.xcodeproj文件。

5.打开 CocoapodsSample.xcworkspace 工程,可以看到AFNetwoking已经成功导入项目。

另附:

(1)如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以在终端cd到该工程目录下使用以下命令更新。

$ pod update

(2)关于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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本


ZhugeZhan
78 声望5 粉丝