最全CocoaPods安装教程(2018-08-1更新)

什么是CocoaPods?

CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,通过CocoaPods,我们可以更方便地管理每个第三方库的版本,而且不需要我们做太多的配置。直观、集中和自动化地管理我们项目的第三方库。

一、安装RVM

打开终端:>_
1、查看当前Ruby版本
ruby -v
2、升级Ruby环境

首先需要安装rvm(第一步要下载一些东西等两分钟左右)

curl -L get.rvm.io | bash -s stable 

source ~/.bashrc

source ~/.bash_profile
3、查看rvm版本
rvm -v

显示如下

rvm1.29.3(latest)byMichalPapis,PiotrKuczynski,WayneE.Seguin[https://rvm.io]
4、更新RVM
rvm get stable
5、查看可下载的ruby版本
rvm list known

输出结果为

# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head]# security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]// 重点在这里 重点在这里 重点在这里ruby-head.....
6、安装一个ruby版本(这里我选择的是2.4.1版本,当然你也可以选择其他的)
rvm install 2.4.1
// 注意:安装过程中需要两次按下 Enter 键, 第二次按下后需要输入电脑访问密码(不可见,只管输入就行);
// 如果你电脑没有安装Xcode和Command Line Tools for Xcode以及Homebrew 会自动下载安装,建议提前安装这三者.

安装如果遇到如下错误:

安装Command Line Tools即可

xcode-select --install
7、查看已安装ruby的版本
rvm list

输出结果显示如下

rvm rubies
=* ruby-2.4.1 [ x86_64 ]
# => - current
# =* - current && default
#  * - default
8、查看当前使用ruby的版本
rvm current
9、设置为ruby默认版本
rvm use 2.4.1 --default
10、删除安装过的ruby版本
rvm remove 2.2.2

如果提示权限不足,同理加上sudo

sudo rvm remove 2.2.2

二、升级RubyGems

1、更新gem
sudo gem update --system

如果是最新的,则输出

Latest version already installed. Done.

如果没有权限报错,在命令前加上sudo

sudo gem update --system
2、更换源

由于国内被墙,我们需要来修改更换源,把源切换至ruby-china;网上大多数是使用的https://ruby.taobao.org的,这里不再建议使用的了,这是因为taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
3、查看当前系统的Ruby源

为了验证你的Ruby镜像是并且仅是ruby-china,执行以下命令查看

gem sources -l

如果是以下结果说明正确,如果有其他的请自行百度解决

*** CURRENT SOURCES ***
https://gems.ruby-china.org/

如果不是显示这个或者没有源,则是失败的,从新输入 gem sources -a https://gems.ruby-china.org/ ,如果一直失败的话可能是你的网络问题。

三、安装CocoaPods

1、安装CocoaPods
sudo gem install -n /usr/local/bin cocoapods
2、如果安装了多个Xcode使用下面的命令选择(一般需要选择最近的Xcode版本,只安装一个的可以省略这一步)
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
3、安装本地库
pod setup

执行以上命令后

Setting up CocoaPods master repo
  $ /usr/bin/gitclonehttps://github.com/CocoaPods/Specs.git master --progress
  Cloning into'master'...
  remote: Counting objects: 1879515,done.
  remote: Compressing objects: 100% (321/321),done.
  Receiving objects:  21% (404525/1879515), 73.70 MiB | 22.00 KiB/

然后就是漫长的等待,当然,网络好的情况下会更快

执行上面的命令过后,会出现卡主不动,这个是时候是在下载,通常会等很久。如果要查看文件下载进度的可以另外打开一个终端窗口(快捷键:选中终端按下Command+N组合键),输入以下两行命令回车执行

cd ~/.cocoapods  //cd到cocapod目录下
du -sh *  // 查看大小

执行du -sh *之后会显示已下载的文件大小,可以多次执行来监看下载进度,如果之前还有文件大小,后来变成0了,可能是网络问题,下载已经中断了,需要结束命令并从新执行 pod setup或者检查一下以下问题

ping github.com  //检查github连接是否通过
pob repo list  //查看cocoapods文件信息

如果pod setup还是一直没反应失败可以用下面的方法解决可以继续往下看
到此可以通过pod repo查看master信息了

pod repo

通过以下命令可以执行pods操作

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

pod setup失败解决方法
(1)访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
(2)下载GitHub Desktop, 然后clone Specs项目,当然也可以直接使用git clone但是貌似没有客户端下载快,podspec索引文件比较大,有80M左右。
(3)将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
(4)运行pod setup

5、查看cocapod版本
pod --version

四、CocoaPods使用

1、下载安装完成之后可执行下列命令检查是否可用(第一次使用可能要等一会)
pod search MJExtension
2、CocoaPods的具体使用

新建一个Xcode工程,使用终端cd到工程目录下

image

在项目的根目录下创建一个Podfile文件:

vim Podfile

进入之后按i进入编辑模式,在文件Podfile中添加想要的第三方开源库文件,比如 MJExtension :

platform :ios, '8.0'  // 支持的最低版本
  #use_frameworks!个别需要用到它,比如reactiveCocoa
  target 'testDemo' do   // testDemo是你的项目名
  pod 'MJExtension'   // 不指定版本下载的就是最新版的
end

保存后按Esc后,然后输入:wq回车保存。

执行安装:

pod install
//或
pod install --no-repo-update  //禁止更新repo,这样就避免执行了git fetch,从而加快速度
image

一般到这里就结束了,如果出错的话可能是你Podfile的代码写的不规范,看一下我的示例或者自行百度一下。

3、增加第三方

如果使用过程中我还想添加其他的第三方怎么办,只要在Podfile里面接着添加,然后终端再执行 pod install 就可以了。

image
4、更新CocoaPods中的第三方们

第三方库们都有人在维护升级,我们需要隔断时间就要更新下我们工程中第三方库的版本。

//更新所有可更新的三方库
pod update

更新指定库

pod update Masonry

如果遇到 pod install 或者 pod update 慢的问题,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update
pod update --verbose --no-repo-update

--verbose 的作用就是打印出执行过程中详细的信息。
--no-repo-update 的作用就是禁止更新repo,这样就避免执行了git fetch,从而加快速度。
但是如果repo本身就很老(第三方库版本比较低)的时候,仍然是需要更新repo的。

8、删除CocoaPods中的某些第三方们

当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install就可以了。

9、升级CocoaPods

升级CocoaPods版本的命令和安装CocoaPods的命令一样,都是

sudo gem install cocoapods。

如果老版本升级cocoapods的时候提示Operation not permitted - /usr/bin/xcodeproj,改用命令

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

就可以了。

10、卸载CocoaPods

卸载CocoaPods的命令是

sudo gem uninstall cocoapods
image

执行完命令后,最下面打印Successfully uninstalled cocoapods字样就代表已经成功卸载了。

11、将CocoaPods从项目中删除

如果你在以后的使用过程中不想用CocoaPods了怎么办?很简单,把多出来的东西们都删掉就可以了,不过为了项目正常运行,你需要手动导入已经使用的第三方们哦。

image

四、CocoaPods Mac App的安装和使用

CocoaPods桌面应用版下载地址:https://cocoapods.org/app

1、是否安装命令行工具

打开应用会提示你是否安装命令行工具,选择install就也可以在命令行使用Pod了。省去了上面的步骤们,方便快捷的使用CocoaPods。

image
2、现在假如要给一个Test项目加入第三方库
(1)选择项目

选择File-New Podfile from Xcode Project,去选择项目的Project文件。

image
(2)Podfile

填写自动生成的Podfile,并且安装。

image

然后就可以去打开工程了,是不是比命令行简单多了。

注意:Cocoapods.app 删掉并执行命令可能会报错:

Unable to locate the CocoaPods.app application bundle. Please ensure the application is available and launch it at least once

QQ截图20180731195756.png

这时候只要执行以下命令就可以了。

sudo gem install -n /usr/local/bin cocoapods
3、XCode的CocoaPods插件

CocoaPods-xcode-plugin是一个XCode的插件,可以很方便的在Xcode通过pods安装各种第三方库。前提是终端已经安装好CocoaPods,使用方法大概如下:

image

到此 Success !

转载参考:

CocoaPods官方使用指南
Kevinxyg:cocaPod安装方法
ios_curry:2017最新cocoaPods安装教程
乌鸦白:CocoaPods下载及安装

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,630评论 3 51
  • 2017.01.06 凌晨1:09 不知不觉就这个时间了,忘记自己已经是连续多少天这么晚睡觉了,也不是不瞌睡,习惯...
    核桃人阅读 222评论 0 0
  • 感恩妈妈,她今天早上送我去做文班,上完作文班她还来接我。 感恩王春霞老师,她教我怎么把作文写好,怎么写的有意思,有...
    芳草青青春满园阅读 176评论 0 2
  • the new tulsa blues 网易无 spinnin the webb ——Chick Webb 网易有...
    丁自己阅读 355评论 0 1