在之前工作中,第三方框架都是直接拖到工程中,这样太繁琐了,工作量大不说,在第三方代码版本管理也是一个很头疼的问题。后来采用了CocoaPods,一切就变得那么简单了,新项目虽然不大,但是自己还是使用了CocoaPods,这里把自己吐血安装的过程总结一下,真的是吐血呀。
文章默认电脑是第一次安装CocoaPods,内容按照我安装的过程以及遇到的问题和解决方法来进行描述的,我觉得这样比最后总结问题更直接一些。
PS.友情提示一下,安卓CocoaPods一定要保持良好的网速。因为自己在安装过程中公司网速影响了好多,回家之后网速快了,问题也就没了。。。
一、什么是CocoaPods
CocoaPods是一款第三方代码库的依赖管理工具,它可以在开发OS X或者iOS应用程序过程中对第三方框架进行搞笑的控制管理。这样开发者在配置成功CocoaPods之后,可以通过简单的命令就可以管理第三方库。而且,目前大部分开源类库都已支持CocoaPods。
CocoaPods
二、安装CocoaPods
我是通过终端
来安装的,打开Mac终端输入命令行来安装CocoaPods。
-
输入命令
sudo gem install cocoapods
【解释】:这行命令是安装CocoaPods的命令。
【可能出现的问题】:由于CocoaPods是采用Ruby实现的,所以Mac必须有Ruby环境。Ruby的默认源使用的是cocoapods.org
,此网址在国内访问会出现问题。 -
修改Ruby源
- 移除之前的Ruby路径
gem sources --remove https://rubygems.org/
- 更换新的路径
这里要说明一下:之前是添加淘宝镜像gem sources -a https://ruby.taobao.org
。但是目前淘宝的镜像已经停止更新了,停止更新公告
公告截图
良心的淘宝当然给了我们解决方法:
- 添加Ruby China的镜像
gem sources --add https://gems.ruby-china.org/
- 由于我是第一次安装,之前已经移除了系统中当前的镜像,所以不用像链接内的方法移除当前镜像;
官方推荐方法
- 检查当前镜像
gem sources -l
,确保只有gems.ruby-chaina.org - 输入命令
gem install rails
(这里需要一段时间)
再次确定当前镜像
- 再次输入
sudo gem install cocoapods
- 输入
pod setup
如果没什么问题你就安装CocoaPods成功了,如何检查是否安装成功呢:
- 终端输入
pod --version
,显示出版本即为成功; - 终端输入
pod repo list
,若结果为0 repos
时说明没有安装成功。
三、可能出现的问题
- Q:
ERROR:while executing gem ...(ERROR::EPERM) Operation not permitted - /usr/bin/pod
A:Stackoverflow上的解释是:This is happening because Apple has enabled rootless on the new install,也就是说在OS X EI Capitan(10.11)系统上苹果已经启动了无根的安装。在终端重新输入sudo gem install -n /usr/local/bin cocoapods
-
Q:
Error installing pods:active support requires Ruby version >= 2.2.2
A:需要Ruby版本不小于2.2.2。解决方法我参照了Ruby环境更新这篇文章。 -
Q:终端出现
Setting up CocoaPods master repo
之后没有任何变化
A:说明CocoaPods正在将它的信息下载到 ~/.cocoapods中(这一步是很费时间的,等输出Setup completed 安装完成啦)
PS.可以重新打开另一个终端,输入cd ~/.cocoapods
进入cocoapods文件夹——>输入`du -sh *查看进度。这一步一点要保证网速,这一步一定要保证网速,这一步一定要保证网速。 -
Q:
pod setup
时出现以下错误:[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master Cloning into 'master'... error: RPC failed; curl 56 SSLRead() return error -36 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed You can try adding it manually in \`~/.cocoapods/repos\` or via \`pod repo add\`.
A:重新安装(其实我就是这样安装成功的):
首先,删除.cocoapods目录,在终端输入:
sudo rm -rf ~/.cocoapods/
然后,重新下载安装,在终端输入命令:
pod setup
-
Q:出现下面报错时:
ERROR: While executing gem ... (TypeError) no implicit conversion of nil into String
A:更新gem
sudo gem update --system
四、使用CocoaPods
- 终端中
cd
到项目所在路径,创建Podfile
vim Podfile
- 按下
i
键进入输入状态,在Podfile
文件里输入以下文字:
platform :ios, '8.0'
target 'Your_App_Name' do
pod 'AFNetworking', '~>3.0'
- 按下esc键退出输入。然后保存退出,命令是:wq。你当然可以使用vim之外的编辑软件来编辑Podfile文件。
注:cocoapods-1.0.0.beta版本后规定Podfile文件必须如上所示(加target)
- 终端cd到你的项目所在目录下执行如下命令来利用CocoPods下载第三方库:
pod install
网友评论