欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Cocoapods 安装和使用

程序员文章站 2024-03-20 22:40:46
...

本文写于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 安装和使用

移除原来的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

得到结果如下图:
Cocoapods 安装和使用

从这个图上,我们看到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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本