iOS 之 Cocoapods安装
进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊。。。(原谅我那时还没进入过正规的IT公司....好多你们自然而然接触的东西,都需要我一点一点自己去接触。。。)所以啊,赶紧的扒资料啊,博客啊,各种关于cocoapods的文献啊,尝试着去安装一下,就一下。。。靠,失败了????再试试,还不行???接着扒资料,合并总结。。再去安装,,成了?激动啊,就想着纪念一下。。。那就写个博客吧,把其中遇到的艰辛都列出来,也希望能帮助和我一样摸索的人。。。
好了,进入正题吧。。。。。。。。。。。。一步一步慢慢来!!!
1、什么是cocoapods
先说一下开发者在做项目时需要三方库怎么办?通常情况下是:先找到这个第三方库,下载下来;然后拉到自己的项目中去(拷贝到项目);最后在项目中自由的使用它!看起来很简单吧?不用怀疑,就是这么简单。但如果项目中需要的三方库很多呢?或者你使用的某个三方库有牵连到其他的类库呢,这样在下载、拷贝就变得十分麻烦。还有就是牵扯到项目中使用的三方库更新,也是个麻烦问题。那么现在就是使用Cocoapods的时候了。
CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具,也是最常用、最有名的类库管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。开发者通过Cocoapods,只需要一行命令就可以解决问题,并且目前为止,大部分开源类库,都是支持Cocoapods的。所以,学会使用Cocoapods吧 ,这是开发者的一大利器啊。
2、安装cocoapods
打开mac终端,使用终端命令去安装cocoapods,步骤如下:
1>输入命令:
sudo gem install cocoapods (这是安装cocoapods的命令)。
苹果系统升级 OS X EL Capitan 后改为 $ sudo gem install -n /usr/local/bin cocoa pods
cocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认的已经可以运行Ruby。-注:如果安装失败,就说明中国的威力依旧牛气啊。那么解决方式如下:
2>Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的。
方式如下:
移除本来的Ruby路径:
$ gem sources --remove https://rubygems.org/
添加淘宝镜像:
$gem sources -a https://ruby.taobao.org
好了,现在让我们检查一下,是否替换成功。接着输入:
gem sources -l
操作图如下:

3>现在一切就绪了,再执行步骤1
sudo gem install cocoapods。
就会安装成功。
注:如果执行完这一步出现错误如下图的话:你使用的Mac系统是:OS X EI Capitan

那么就是路径问题,OS X EI Capitan 直接把cocoapods干掉了(听说的,具体情况不知道。。想了解去自己去查吧),本人当时也是查了好久才找到解决方法. 原来苹果系统升级 OS X EL Capitan 后改为 $ sudo gem install -n /usr/local/bin cocoa pods
好了,现在重新终端输入:sudo gem install -n /usr/local/bin cocoa pods,就可以安装cocoapods。安装效果如上图显示。
4>更新gem
终端输入:
sudo gem update --system
可以升级到最新版本,效果图如下:

5>最后终端输入:
pod setup
pod setup之行后,终端会停留在 setting up cocoapods master repo 这个状态一段时间,是因为要进行下载安装,而且目录比较大,对于着急的人是个很大的耐心考验啊。。如果实在受不了漫长的等待的话,出去溜达溜达吧,回来就好了。。。如果你不的话,我在其他网站上看到这种方式:(本人是没试过,不过你可以试试看,成功的话,记得告诉一下。)这步其实是 Cocoapods 在将它的信息下载到 ~/.cocoapods目录下,如果你等太久,可以试着 cd 到那个目录,用du -sh *来查看下载进度。
以下引用iOS界:唐巧大神博客-- 关于《用CocoaPods做iOS程序的依赖管理》一文,需要的可以进去看看。
你也可以参考本文接下来的使用 cocoapods 的镜像索引一节的内容来提高下载速度。
3、使用 CocoaPods 的镜像索引
所有的项目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs。第一次执行pod setup时,CocoaPods 会将这些podspec索引文件更新到本地的 ~/.cocoapods/目录下,这个索引文件比较大,有 80M 左右。所以第一次更新时非常慢,笔者就更新了将近 1 个小时才完成。
一个叫 akinliu 的朋友在 gitcafe 和 oschina 上建立了 CocoaPods 索引库的镜像,因为 gitcafe 和 oschina 都是国内的服务器,所以在执行索引更新操作时,会快很多。如下操作可以将 CocoaPods 设置成使用 gitcafe 镜像:
pod repo remove master |
将以上代码中的 https://gitcafe.com/akuandev/Specs.git 替换成http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的镜像。
以上就是我当初安装cocoapods的所有安装过程和解决问题。特此纪念一下,也希望对需要的人有所帮助。。。
以下链接是本人安装cocoapods所参考的文章:
都是很受启发的好文章,希望对大家有所帮助。
iOS 之 Cocoapods安装的更多相关文章
- iOS开展-CocoaPods安装和使用教程
原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.co ...
- iOS开发 - CocoaPods安装和使用教程
一.CocoaPods简介 1.什么是CocoaPods CocoaPods是iOS的包管理工具. 2.为什么要使用CocoaPods 在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并 ...
- iOS之Cocoapods安装
网上关于cocoapods的教程很多,关于它的优点我不赘述:但是我根据多次安装的经验,把我遇到的问题写一下,希望对新手有所帮助. 1. 设置输入源(由于默认的gem资源是国外的,由于历史原因,访问比较 ...
- (转)iOS工具--CocoaPods 安装使用总结
本文转载自:CocoaPods 安装使用总结(最新) 一.前言 关于什么是CocoaPods,使用CocoaPods的好处等问题本文不做说明,本文只是CocoaPods的安装和使用教程.根据此教程可以 ...
- IOS中CocoaPods安装与使用
网上有很多文章关于 cocoaPods配置文章,其实cocoaPods配置并不难,只是比较繁琐而已,我也是照着网站文章一步步搭建配置成功.写这篇文章的目的就是像做笔记一样,便于以后用的时候好回忆.废话 ...
- iOS 网络 -- cocoaPods 安装和使用教程
Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage CocoaPods 是什么? 当你开发iOS应用时, ...
- iOS 之 cocoapods安装与使用
我们都知道第三方库,一般使用cocoapods管理,cocoapods在我们IOS开发中有着很大的作用. 好了,现在看下它的安装步骤: 1.打开终端,输入 sudo gem install cocoa ...
- IOS开发之开篇--CocoaPods安装
CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其 ...
- iOS CocoaPods安装和使用图解
Cocoapods安装步骤 1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPo ...
随机推荐
- Phylab2.0 文档汇总
实验数据处理脚脚本 编写规范 调用框架以及测试文件规范 脚本调用约定 API文档 用户部分后端请求说明 文章评论区部分后端请求说明 测试报告 测试报告集
- C#设置textBox只能输入数字(正数,负数,小数)简单实现
/* *设置textBox只能输入数字(正数,负数,小数) */ public static bool NumberDotTextbox_KeyPress(object sender, KeyPres ...
- Matlab中double,im2double,mat2gray区别
转载:http://blog.sina.com.cn/s/blog_6c41e2f30101559d.html ****************假设某图像数据A(uint8格式)*********** ...
- 在Application中集成Microsoft Translator服务之翻译语言代码
Microsoft Translator支持多种语言,当我们获取服务时使用这些代码来表示我们是使用哪种语言翻译成什么语言,以下是相关语言对应的代码和中文名 为了方便我已经将数据库上传到云盘上,读者可 ...
- [NHibernate]存储过程的使用(一)
目录 写在前面 文档与系列文章 Nhibernate中使用存储过程 一个例子 总结 写在前面 上篇文章一个小插曲,分析了延迟加载是如何解决N+1 select查询问题的.这篇开始介绍在nhiberna ...
- [Machine Learning & Algorithm] 决策树与迭代决策树(GBDT)
谈完数据结构中的树(详情见参照之前博文<数据结构中各种树>),我们来谈一谈机器学习算法中的各种树形算法,包括ID3.C4.5.CART以及基于集成思想的树模型Random Forest和G ...
- 【bzoj1426】收集邮票
题目描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所 ...
- Mac Pro 安装 Sublime Text 3,个性化设置,主题 和 插件 收藏
1.到官网下载安装包 http://www.sublimetext.com/3 2.附注册码一枚 Sublime Text 3 3126 —– BEGIN LICENSE —– Alexey Plut ...
- js的继承
js要实现继承有很多方法,个人总结大致分为三种: function people(){ this.specials = "人类"; } function p1(name){ thi ...
- ReflectionToStringBuilder类
ReflectionToStringBuilder类是用来实现类中的toString()方法的类,它采用Java反射机制(Reflection),通过reflection包中的AccessibleOb ...