CocoaPosd详解

原创 2015年11月18日 21:12:07

CocoaPods是什么

当我们开发iOS项目时候,会经常使用到第三方类库,并且会使用很多。
大家的做法基本上都是到GitHub上下载一个一个的类库,然后导入到工程中,并且引入各种的类库,做各种的配置。有时候还要处理ARC与MRC的问题,很麻烦。
还有一种情况,就是当第三方类库出现升级的情况时候,我们还需要删掉旧的,下载新的,再重新导入。
以上问题超级的烦人。。。

CocoaPods就是类库管理工具,刚刚提到所有麻烦的操作,CocoaPods都能解决。
作为一名程序员,掌握CocoaPods已经和你会使用UIButton一样重要了! 



安装CocoaPods

安装CocoaPods需要本地Ruby环境,默认情况下,Mac自带Ruby环境,可以通过在终端输入命令ruby -v查看Ruby版本,接下来进行安装,使用如下命令:

$ sudo gem install CocoaPods

输入以上命令,可能会一直没有反应,或者出现ERROR。注意了,我们在天朝,是有一堵墙的,挡住了,所以你安装失败。不过没关系,我们可以使用另外一个地址来访问CocoaPods。

既然官网地址被墙了,我们就使用淘宝的,淘宝的Ruby镜像可以帮助我们访问CocoaPods,分别在终端输入如下命令,将Ruby镜像替换为淘宝的镜像地址:

$ gem sources —remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/

完成之后,我们可以使用如下命令来查看Ruby镜像是否已经指向了淘宝:

$ gem sources -l

如果看到如下信息,表示已经成功!!!
镜像修改成功

下面,重新执行安装命令,等待安装结束就可以了

$ sudo gem install CocoaPods

等待执行完毕,看到如下提示,恭喜你,安装完成。
image
如果遇到其它的安装问题,请自行Google解决吧。



使用CocoaPods

安装已经完成了,下面就来教大家如何使用。
做一个项目,项目中需要使用SDWebImage,看看如何使用CocoaPods进行安装
首先使用如下命令,查看CocoaPods是否支持SDWebImage类库

$ pod search SDWebImage

可以看到下面这些搜索结果,表示SDWebImage是可以的,
查找并发现SDWebImage

注意圈住的那一行,一会需要使用。这行信息是告诉CocoaPods去下载哪一个第三方类库和它的哪一个版本,是一条配置信息。



下面创建空的项目,然后使用CocoaPods往项目中导入SDWebImage类库:

1>. 创建项目 CocoaPods_Test,保存到桌面

2>. 在终端输入 cd空格,拖入项目文件夹,回车,进入项目所在的根目录

3>.通过命令行创建Podfile文件,该文件的作用是配置第三方类库的信息,就是告诉CocoaPods去管理哪些类库 

$ vim Podfile

vim打开文件后,按i进入编辑模式,输入如下文字:
image
里面的pod 'SDWebImage', '~> 3.7.1'就是我们在上面圈住的那一行。
输入完成后按ESC退出编辑模式,接着输入:wq,并按回车键进行保存并退出。
上面的操作完成之后,我们可以在项目根目录发现一个没有后缀的Podfile文件,这就是刚刚创建的文件,里面保存了需要使用的第三方类库的信息。(注意:Podfile文件必须和.xcodeproj文件在同一目录下)

4>. 接下来,我们就可以使用命令来安装第三方类库了,(确保终端路径在项目根目录)运行如下命令: 

$ pod install

当我们看到这样的提示,就表示你操作成功:
第三方类库导入成功
注意最后一句话:”Please close any current Xcode sessions and use ‘CocoaPods_Test.xcworkspace’for this project from now on”。这就是告诉我们,从现在开始需要使用这个文件来打开项目,而不在是之前的.xcodeproj

5>. 双击项目中的CocoaPods_Test.xcworkspace文件来打开项目,你会看到如下目录结构:
导入成功后的目录结构
我们会发现多了一个Pods的依赖工程,打开Pods文件夹后,发现SDWebImage已经在这里面了。 

6>. 现在,我们就可以在想要使用SDWebImage的文件中,引入需要的文件,然后就可以正常使用了。 

7>. 到现在为止,你已经学会了如何使用CocoaPods来添加第三方类库。如果我们需要使用多个第三方类库,只需要修改Podfile文件就可以了,如下:
添加多个第三方类库

NOTE:
怎么样,过程很简单吧。只需要: 1.查询 2.修改Podfile文件 3.安装 即可完成!




其它

当我们想要重新安装CocoaPods的时候,需要卸载这个东西,很简单,只需要执行以下命令即可: 

$ sudo gem uninstall CocoaPods

如果安装了多个版本,选择All,即可全部卸载!

第三方版本号的各种写法与含义:

pod 'AFNetworking'      //不显式指定依赖库版本,表示每次都获取最新版本
pod 'AFNetworking',  '2.0'     //只使用2.0版本
pod 'AFNetworking', '>2.0'     //使用高于2.0的版本
pod 'AFNetworking', '>=2.0'     //使用大于或等于2.0的版本
pod 'AFNetworking', '<2.0'     //使用小于2.0的版本
pod 'AFNetworking', '<=2.0'     //使用小于或等于2.0的版本
pod 'AFNetworking', '~>0.1.2'     //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod 'AFNetworking', '~>0.1'     //使用大于等于0.1但小于1.0的版本
pod 'AFNetworking', '~>0'     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本


版权声明:本文为博主原创文章,未经博主允许不得转载。

CocoaPosd 详解

CocoaPods是什么当我们开发iOS项目时候,会经常使用到第三方类库,并且会使用很多。 大家的做法基本上都是到GitHub上下载一个一个的类库,然后导入到工程中,并且引入各种的类库,做各种的配置...
  • Micheader
  • Micheader
  • 2016年03月21日 12:44
  • 143

Cocoaposd安装与使用

CocoaPods使用步骤(已有Ruby环境): (注:$为提示作用,不要在终端中输入) 1.打开终端,输入 $ gem sources --remove https://rubygems.org/ ...
  • kukafei0
  • kukafei0
  • 2015年11月24日 15:43
  • 791

SpringBoot开发详解(一)--初识SpringBoot

初识SpringBoot写在前面的话:越来越多的公司开始使用sprinbgboot作为后台服务器开发的框架,作为目前微服务框架的佼佼者,现在学习springboot框架是一个很好的机会,我自己也在学习...
  • qq_31001665
  • qq_31001665
  • 2017年02月01日 01:06
  • 2593

IntelliJ IDEA 使用详解

目录结构: InteliJ IDEA 没有工作空间的概念 project 就是一个项目,新建project的时候默认会新建一个modul模块 module 就是一个模块常规设置: ...
  • wl4066261
  • wl4066261
  • 2016年12月22日 00:23
  • 830

HTML5之canvas详解

对于HTML5的内容,由于目前并不是所有的浏览器都兼容,所以我们首先需要判断你所用的浏览器是否支持canvas标签,判断方法如下: 你的浏览器不支持canvas标签 如...
  • yexudengzhidao
  • yexudengzhidao
  • 2017年02月13日 18:07
  • 566

Windows服务详解,更详细版

1.Alerter  Alerter(警示器)服务的进程名是Services.exe(即启动这个服务后在后台运行的进程的名称,可以通过任务管理器看到)。Alerter服务的功能是,WinXP...
  • change518
  • change518
  • 2012年06月15日 20:11
  • 3961

Quartz 入门详解

概述 各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的MIS系统来说,在每月Java开源的好处就是:领域问题都能找到现成的解决方案。 2001年发布版本以来已经被众...
  • wenniuwuren
  • wenniuwuren
  • 2014年11月25日 16:17
  • 3899

SSH使用详解

一、SSH基础   (1)什么是SSH?   传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获...
  • julius819
  • julius819
  • 2012年03月29日 13:24
  • 7547

VC++深入详解学习笔记

VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Lesson4: 简单绘图...
  • tangzhilinhk
  • tangzhilinhk
  • 2014年11月18日 10:30
  • 1142

深入详解Struts2——架构剖析

在struts2中,拦截器是一个重要的概念。拦截器可以在Action被调用之前和之后执行代码。Struts2框架的大多数核心功能都是作为拦截器来实现的。像累心转换、对象组装、验证、避免表单重复提交、文...
  • fuyuwei2015
  • fuyuwei2015
  • 2015年10月12日 16:25
  • 1216
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CocoaPosd详解
举报原因:
原因补充:

(最多只允许输入30个字)