CocoaPods吐血安装过程

在之前工作中,第三方框架都是直接拖到工程中,这样太繁琐了,工作量大不说,在第三方代码版本管理也是一个很头疼的问题。后来采用了CocoaPods,一切就变得那么简单了,新项目虽然不大,但是自己还是使用了CocoaPods,这里把自己吐血安装的过程总结一下,真的是吐血呀。
文章默认电脑是第一次安装CocoaPods,内容按照我安装的过程以及遇到的问题和解决方法来进行描述的,我觉得这样比最后总结问题更直接一些。
PS.友情提示一下,安卓CocoaPods一定要保持良好的网速。因为自己在安装过程中公司网速影响了好多,回家之后网速快了,问题也就没了。。。

一、什么是CocoaPods


CocoaPods是一款第三方代码库的依赖管理工具,它可以在开发OS X或者iOS应用程序过程中对第三方框架进行搞笑的控制管理。这样开发者在配置成功CocoaPods之后,可以通过简单的命令就可以管理第三方库。而且,目前大部分开源类库都已支持CocoaPods。


CocoaPods

二、安装CocoaPods


我是通过终端来安装的,打开Mac终端输入命令行来安装CocoaPods。

  1. 输入命令sudo gem install cocoapods
    【解释】:这行命令是安装CocoaPods的命令。
    【可能出现的问题】:由于CocoaPods是采用Ruby实现的,所以Mac必须有Ruby环境。Ruby的默认源使用的是cocoapods.org,此网址在国内访问会出现问题。

  2. 修改Ruby源

  • 移除之前的Ruby路径gem sources --remove https://rubygems.org/
  • 更换新的路径
    这里要说明一下:之前是添加淘宝镜像gem sources -a https://ruby.taobao.org。但是目前淘宝的镜像已经停止更新了,停止更新公告
    公告截图

    良心的淘宝当然给了我们解决方法:
  1. 添加Ruby China的镜像gem sources --add https://gems.ruby-china.org/
  2. 由于我是第一次安装,之前已经移除了系统中当前的镜像,所以不用像链接内的方法移除当前镜像;
    官方推荐方法
  • 检查当前镜像gem sources -l,确保只有gems.ruby-chaina.org
  • 输入命令gem install rails(这里需要一段时间)
    再次确定当前镜像
  1. 再次输入sudo gem install cocoapods
  2. 输入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


  1. 终端中cd到项目所在路径,创建Podfile
    vim Podfile
  2. 按下i键进入输入状态,在Podfile文件里输入以下文字:
platform :ios, '8.0'
target 'Your_App_Name' do
pod 'AFNetworking', '~>3.0'
  1. 按下esc键退出输入。然后保存退出,命令是:wq。你当然可以使用vim之外的编辑软件来编辑Podfile文件。

注:cocoapods-1.0.0.beta版本后规定Podfile文件必须如上所示(加target)

  1. 终端cd到你的项目所在目录下执行如下命令来利用CocoPods下载第三方库:
    pod install

五、参考文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,742评论 3 50
  • 死寂的午夜,独自一人手持电筒,第n次走到小家伙面前,它依旧咬紧牙关,不肯松口。纵使我蓦然回首寻它千百度,却依旧咬定...
    花未眠88阅读 264评论 0 2
  • 现代人的工作非常忙碌,基本没时间照顾孩子,让孩子自由发展的话,容易失控。 在小城市的话,孩子们比较单纯。但是接触到...
    zzz雪人阅读 805评论 0 2
  • 每次逛淘宝最喜欢看的是评价里面的图片,不是在看卖家秀,而是在注意别人图片里的生活。就是想窥探别人的生活是不是精致。...
    拧巴君and雀跃君阅读 194评论 0 0