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 ...
随机推荐
- 【整理】Word OpenXML常用标签
一.背景 最近在做关于Word内容自动标引,需要了解Word的底层结构,顺便梳理一下OpenXML的标签含义,方便后续开发,提高对OpenXML标签的查找效率,也是一个熟悉的过程. 二.内容 < ...
- 什么?你还不会写JQuery 插件
前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了.至于使用jquery好处这里就不再赘述了,用过的都知道.今天我们来讨论 ...
- LoadRunner 函数之 web_add_cookie
简单示例: Action() { // 添加cookie web_add_cookie("is_login=True;path=/;domain=10.1.102.75"); // ...
- Linux命令--删除软连接
1,建立软链接 ln -s 源文件 目标文件 例如:ln -s /usr/hb/ /home/hb_link 2,删除软链接 正确的是:rm -rf hb_link 错误的是:rm -rf hb_li ...
- cf723d Lakes in Berland
The map of Berland is a rectangle of the size n × m, which consists of cells of size 1 × 1. Each cel ...
- 10款最好的 Bootstrap 3.0 免费主题和模板
Twitter Bootstrap 框架已经广为人知,用于加快网站,应用程序或主题的界面开发,并被公认为是迄今对于Web开发的最有实质性帮助的工具之一.在此之前的,各种各样的界面库伴随着高昂的维护成本 ...
- PHP如何自动识别第三方Restful API的内容,自动渲染成 json、xml、html、serialize、csv、php等数据
如题,PHP如何自动识别第三方Restful API的内容,自动渲染成 json.xml.html.serialize.csv.php等数据? 其实这也不难,因为Rest API也是基于http协议的 ...
- java基础知识(四)java内存机制
Java内存管理:深入Java内存区域 上面的文章对于java的内存管理机制讲的非常细致,在这里我们只是为了便于后面内容的理解,对java内存机制做一个简单的梳理. 程序计数器:当前线程所执行的字节码 ...
- linux 最近使用的命令
vi 文件名 >> 按 i 键,进行编辑,编辑完,按ESC键,再按:q代表不保存退出,按:wq代表保存退出. ps aux|grep java >> 搜索目前启动的ja ...
- 动态执行python脚本
前言 存在许多独立的python脚本,这些脚本可能会增加,也可能会减少,现在需要按照某种顺序调度这些程序.在python的standard library中,有一个模块imp可以实现动态的调用ptho ...