前言
- 由于每次新开项目都要重新使用CocoaPods,每次新项目都需要重新pod step更新repo源以保证第三方库能获取到最新版本,也是个人的洁癖吧,由于工具的东西久了不用又容易忘记,网上的说的也不齐全,所以每隔一段时间我用到后都会更新下保证以后使用方便!大家也可以用来作参考,最新更新时间2020年2月29日
什么是CocoaPods?
- CocoaPods是一个负责管理iOS项目中第三方开源库的工具。CocoaPods的项目源码在Github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间,在iOS开发中经常会用到第三方库如AFNetworking,ASIHttpRequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。
CocoaPods版本快速查看
- CocoaPods官网:什么是CocoaPods
- CocoaPods官方博客:查看最新特性
- rubygems官网查看:CocoaPos全部版本查看
- github官网查看:CocoaPods源码地址
- github官网查看:CocoaPods主仓库
- CocoaPods国内镜像:清华大学CocaPods使用帮助
- CocoaPods1.8.0以上支持CDN:升级请点此处查看
CocoaPods下载及安装
- CocoaPods通过ruby命令进行安装下载,所以先在终端中查看是否装有ruby环境,通过下面命令查看ruby版本
ruby -v
- 确实安装以后,就可以通过下面命令安装cocoapods
sudo gem install cocoapods
- 如果发现很久没有反应,应该是cocoapods.org被屏蔽了,这是需要通过阿里云的ruby镜像来访问cocoapods,先查看ruby源所在地址
gem sources -l
- 默认情况,终端会返回下面信息
*** CURRENT SOURCES ***
https://rubygems.org/
-
当然这个源因为使用的亚马逊的云服务,所以被墙了,墙内是访问不到的。因此我们需要寻找一个可以在国内访问到的镜像。目前可用的http://rubygems-china.oss.aliyuncs.com这个阿里云的镜像
-
确认镜像可用后,现在就要开始修改ruby源了。首先执行以下命令删除原来的ruby源
gem sources --remove https://rubygems.org/
- 然后增加新的镜像源地址
gem sources -a http://rubygems-china.oss.aliyuncs.com
-
如果安装正常会出现下面
-
安装完成后,通过cocoapods的搜索验证是否cocoapods是否可用
pod search AFNetworking
- 终端如果一直停在下面情况很久
- 表明还不能用,这时需要更新pod,下载依赖包
pod setup
- 还是出现红色错误,还需要进行gem版本更新,如图表示更新成功
sudo gem update --system
- 检查github连接是否通过
ping github.com
- 查看cocoapods文件信息
pob repo list
- 显示结果为0 repos,进入到~/.cocoapods目录查看文件大小
cd ~/.cocoapods
- 查询文件大小
du -sh *
- 显示0B repos,此时在重新执行更新
pod setup
-
如果pod setup还是一直没反应失败可以用下面的方法解决可以继续往下看
-
到此可以通过pod repo查看master信息了
pod repo
- 通过以下命令可以执行pods操作
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
pod setup失败解决方法
- 访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
- 下载GitHub Desktop, 然后clone Specs项目,当然也可以直接使用git clone但是貌似没有客户端下载快,podspec索引文件比较大,有80M左右。
- 将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
- 运行pod setup
解释:pod setup的本质就是将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。使用GitHub Desktop软件,则会提高clone的成功率。
解决pod install/pod update更新慢的问题
设置pod源码(初始化cocoapods)
pod repo remove master
//coding 上有每日更新的,建议使用这个
pod repo add master https://git.coding.net/CocoaPods/Specs.git
//或者用oschina,但是https 好像有问题,一直是403,所以用ssh的方式,这里需要到官网去配置ssh key
pod repo add master https://git.oschina.net/akuandev/Specs.git
手动将代码clone下来
- 出现 [!] To setup the master specs repo, please run pod setup.
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
pod setup //务必在手动下载代码后执行一次,执行后 Setup completed
//在执行
pod install --verbose --no-repo-update //避免去更新了
升级pod方法