什么是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到工程目录下
在项目的根目录下创建一个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,从而加快速度
一般到这里就结束了,如果出错的话可能是你Podfile的代码写的不规范,看一下我的示例或者自行百度一下。
3、增加第三方
如果使用过程中我还想添加其他的第三方怎么办,只要在Podfile里面接着添加,然后终端再执行 pod install 就可以了。
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
执行完命令后,最下面打印Successfully uninstalled cocoapods字样就代表已经成功卸载了。
11、将CocoaPods从项目中删除
如果你在以后的使用过程中不想用CocoaPods了怎么办?很简单,把多出来的东西们都删掉就可以了,不过为了项目正常运行,你需要手动导入已经使用的第三方们哦。
四、CocoaPods Mac App的安装和使用
CocoaPods桌面应用版下载地址:https://cocoapods.org/app
1、是否安装命令行工具
打开应用会提示你是否安装命令行工具,选择install就也可以在命令行使用Pod了。省去了上面的步骤们,方便快捷的使用CocoaPods。
2、现在假如要给一个Test项目加入第三方库
(1)选择项目
选择File-New Podfile from Xcode Project,去选择项目的Project文件。
(2)Podfile
填写自动生成的Podfile,并且安装。
然后就可以去打开工程了,是不是比命令行简单多了。
注意:Cocoapods.app 删掉并执行命令可能会报错:
Unable to locate the CocoaPods.app application bundle. Please ensure the application is available and launch it at least once
这时候只要执行以下命令就可以了。
sudo gem install -n /usr/local/bin cocoapods
3、XCode的CocoaPods插件
CocoaPods-xcode-plugin是一个XCode的插件,可以很方便的在Xcode通过pods安装各种第三方库。前提是终端已经安装好CocoaPods,使用方法大概如下:
到此 Success !
转载参考:
CocoaPods官方使用指南
Kevinxyg:cocaPod安装方法
ios_curry:2017最新cocoaPods安装教程
乌鸦白:CocoaPods下载及安装