2018CocoaPods安装和使用
2018 CocoaPods最新安装和使用以及跳过pod setup快速安装教程
第一步:修改ruby源
安装CocoaPods,需要ruby环境,然而Mac系统默认会安装好ruby环境。
打开Mac终端
gem sources -l //查看ruby源
默认情况下,会显示
https://rubygems.org/
ruby源在墙内是访问不到的,需要置换为国内
原来一直用的是淘宝的
gem sources -a https://ruby.taobao.org/
但是淘宝的ruby源不更新了,不建议使用 ,原因可以看这个链接 https://ruby.taobao.org/
现在用 https://gems.ruby-china.org
//删除之前使用的淘宝
gem sources --remove https://ruby.taobao.org/
gem source -a https://gems.ruby-china.org
为了验证你的Ruby镜像是并且仅是gems.ruby-china,可以用以下命令查看:
gem sources -l //检测是否成功
只有在终端中出现下面文字才表明你上面的命令是成功的:
https://gems.ruby-china.org
补充: 最近ruby-china域名变化由org更改为com,请大家改为 https://gems.ruby-china.com
gem sources --remove https://gems.ruby-china.org
gem source -a https://gems.ruby-china.com
第二步:升级Gem
Gem是来管理Ruby标准包.
gem -v //查看版本
sudo gem update --system //升级gem
不升级在第三步可能,会报很多错误,因为Gem版本太低,无法安装第三步,安装CocoaPods
如果报错:
ERROR: While executing gem ... (OptionParser::AmbiguousOption)
ambiguous option: -system
安装RVM:
curl -L get.rvm.io | bash -s stable
查看版本:
ruby -v
已知版本:
rvm list known
安装版本:
rvm install 2.4.1
第三步,安装CocoaPods
sudo gem install cocoapods // Mac OS X 10.11前 输入这一条
sudo gem install -n /usr/local/bin cocoapods //Mac OS X 10.11后 输入这一条
成功后
pod setup
这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地,
测试
如果有版本号,则说明已经安装成功
pod --version //查看版本
第四步,利用cocoapods来安装第三方框架
1 进入要安装框架的项目的.xcodeproj同级文件夹
2 在该文件夹中新建一个文件Podfile
pod init
pod init
首先需要判断当前目录有没有 XCODEPROJ 项目,如果没有直接报错;若果有单个 XCODEPROJ 项目,会直接创建一个 podfile 文件;如果有多个XCODEPROJ 项目,需要指定一个项目,否则会报错:
[!] Multiple Xcode projects found, please specify one
或者手动 新建文件Podfile vim Podfile
vim Podfile
Podfile文件中, 写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)
# Uncomment the next line to define a global platform for your project
platform :ios, '7.0'
target 'MyApp' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for sync
pod 'AFNetworking' , '~> 3.1.0'
end
解释一下
platform
: ios, ‘7.0’代表当前AFNetworking支持的iOS最低版本是iOS 7.0, 使用时需要去掉前面井号MyApp
: 就是你自己的工程名字,pod 'AFNetworking', '~> 3.1.0'
代表要下载的AFNetworking版本是3.1.0及以上版本,还可以去掉后面的’~> 3.1.0’,直接写pod ‘AFNetworking’,这样代表下载的AFNetworking是最新版。
3 上面信息表示文件中告诉cocoapods需要安装的框架信息
a.该框架支持的平台 b.适用的iOS版本 c.框架的名称 d.框架的版本
- 4.导入第三方库
–no-repo-update : 不更新仓库,迅速加载第三方框架pod install --no-repo-update pod update --no-repo-update
- 5.可使用search命令搜索类库名
比如:
退出搜索, 输入 :wqpod search AFNetworking(也可以pod search UI等,可以查询你想要的)
第五步,CocoaPods 中删除不需要的第三方库
1 打开Podfile, 找到不需要的类库, 直接删除该类库信息, 或者前面加#注释掉
比如要删除AFNetworking库 ,直接去掉Podfile中第五行信息 pod ‘AFNetworking’, ‘~> 3.1.0’2 打开终端cd到当前项目的根目录下重新执行
pod update --no-repo-update
- 3 更新完成就删除成功了
注意: 删除一些三方库后编译可能会报错: library not found for -l 库名
解决:
在Build Settings中搜索Other Linker Flags,去掉-l”库名”。
(有时不管用,应该是cocoapods的版本问题)
第六, Cocoapods降低版本及卸载
一. 移除pod组件
1.这条指令会告诉你Cocoapods组件装在哪里 :
which pod
2.你可以手动移除这个组件 :
sudo rm -rf 路径
二. 移除 RubyGems 中的 Cocoapods程序包
Q: RubyGems是什么?
A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
1.查看gems中本地程序包
gem list
2.移除程序包
sudo gem uninstall cocoapods -v 要移除的版本号
3.安装指定版本的Cocoapods
sudo gem install cocoapods -v 要安装的版本号
跳过pod setup快速安装
有不少同学执行pod setup这一步, 感觉很慢…..
大约要下载200M的文件,偏偏下载速度出奇的慢,本人保持在30K/S,大约2个小时,关键是没有任何进度条显示,就这样傻乎乎的卡死在这里
一句 pod setup 卡你2个小时,前提还是你安装没有错,如果错误,又要重新2小时.
怎么能如此浪费时间呢?
前面说了,pod setup 这条命令是将Github上的开源库都托管都安装Podspec索引安装到到本地.
简单说就是下载一个包,到本地,也就是这个东西
如果你同事电脑上有安装好,你其实可以从你同事电脑上拷贝过来,直接放到该路径就OK了.
如果你身边没有装好的CocoaPods的朋友,可以访问这个链接
https://github.com/CocoaPods/Specs (github所有的第三方开源库的Podspec文件都托管在这里,这也是你pod setup所要下载的).
选择Download ZIP,用你的浏览器或者迅雷什么的,什么下载快用什么,分分钟下载完目前为111.3M(随着开源库的壮大,会慢慢变大).
解压后为这个样子
对比上图,Specs-master改名为master 放在 ~/.cocoapods/repos 路径即可.
~/.cocoapods/repos 这个路径是在执行 pod setup生成的,所以电脑无法前往此路径是,建议先pod setup下,然后关闭掉即可生成路径.
还有就是,FQ,会很快下载,也就是挂个VPN.