在我们开发移动应用的时候,一般都会使用到第三方工具,而由于第三方类库的种类繁多,我们在项目中进行管理也会相对麻烦,所以此时我们就需要一个包管理工具,在iOS开发中,我们使用最多的就是Cocoapods。

Cocoa是开发OS X下的苹果提供的API,Cocoa Touch是开发iOS触摸类设备的API。比如我们在开发iOS中,常常需要新建一个类,就是用Cocoa Touch Class来进行新建的。在本篇博客中我们将会讨论包管理工具Cocoapods的安装与使用。

【一】Cocoapods的安装

(1)Cocoapods的官方网站为:   https://cocoapods.org/    。如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下命令即可直接安装:

  1. sudo gem install cocoapods

(2)如果你的电脑还没有安装Ruby环境,请看以下步骤:首先安装RVM,即Ruby的虚拟机,类似JVM,执行如下命令即可:

  1. curl -L https://get.rvm.io | bash -s stable

(3)重新载入RVM,或者重开终端Terminal也可:

  1. source ~/.rvm/scripts/rvm

(4)检查RVM是否安装成功,并查看RVM的版本:

  1. rvm -v

(5)然后使用RVM安装Ruby环境:

  1. rvm install 2.0.0

(6)查看Ruby的版本:

  1. ruby -v

(7)安装Ruby的时候默认会安装gem,我们也可以查看gem的版本:

  1. ruby -v

(8)下面开始安装Cocoapods,由于有墙,所以我们要修改Ruby的镜像,恰巧某宝提供了这个镜像:首先移除原来的镜像:

  1. gem sources --remove https://rubygems.org/

如果gem太老,可以尝试使用如下命令升级gem:

  $ sudo gem update --system

(9)然后增加新的镜像:

  1. gem sources -a http://ruby.taobao.org/

(10)查看当前的Ruby镜像,如果显示是taobao.org就可以了:

  1. gem sources -l

(11)这是最后一步,安装cocoapods:稍等片刻就可以了;

  1. sudo gem install cocoapods

【二】Cocoapods的使用

(1)首先建立一个iOS项目,我以Swift语言为例,我取名为CocoapodsDemo。当前的目录结构如下:

(2)在终端下进入这个项目的根目录,使用vim创建一个Podfile文件,如图:注意,这个名字一定要是Podfile,不能是其他名字!!!

.

(3)然后在Podfile中输入如下代码,其中我以AFNetworking为例:保存退出。

注意:这里可以直接写:

platform :ios

pod 'AFNetworking'

  也就是说ios后面可以不加版本号,ios三个字母都必须是小写,不能写成“iOS”!!!

  还有就是冒号和ios之间是没有空格的!!!!!

(4)然后仍旧是在项目根目录下执行如下命令:结果如图:

  1. pod install

小提示:如果我们需要查看某个第三方包的信息,或者对某个包不太清楚时,可以使用如下命令:

  pod search AFNetworking

就可以打印出如下信息了:

(5)然后在终端中提示以后要用***.xcworkspace来打开项目,所以我们关闭之前的Xcode,来到项目根目录下,打开CocoapodsDemo.xcworkspace,然后就打开了项目,此时发现项目结构已经变成了这样:

(6)当每次更改了Podfile文件后,都需要执行pod update命令。

当执行pod install之后,除了Podfile,还会生成一个Podfile.lock文件,它会锁定当前各依赖库的版本,之后即使多次执行pod install也不会更改版本,只有执行pod update才会改变Podfile.lock。在多人协作的时候,这样可以防止第三方库升级的时候造成大家各自的第三方库版本不一致。所以在提交版本的时候不能把它落下,也不要添加到.gitignore中。

执行完以上部分, cocoaPod已经全部安装完成.

Cocoapod安装 - 管理第三方库的更多相关文章

  1. 创建podSpec,使用pod管理第三方库

    提要: podfile文件会先读取.podspec文件,根据.podspec文件的指向来下载第三方库到项目中. 本文先通过一.二.三项,这三个步骤讲解了如何建立一个.podspec文件在本地.coco ...

  2. iOS开发:在Xcode中用Pods管理第三方库

    之前写了一篇 iOS开发:在Swift中调用oc库 ,今天记录一下如何用Pods的方式来管理第三方库,包括Swift/Object-C的库. 在这之前请先查阅Guides.CocoaPods如何使用的 ...

  3. PyCharm 如何安装python第三方库及插件

    一.如何安装python第三方库: 1.有一个专门可下载安装第三方库的网址: http://www.lfd.uci.edu/~gohlke/pythonlibs/ Ctrl+f 搜索要下载的第三方库, ...

  4. [django]在virtualenv下安装的第三方库的使用方法

    在virtualenv下安装的第三方库,例如south, requests等,如果想在django中使用,需要先将库添加到settings.py的INSTALLED_APPS中, 以south, re ...

  5. Xcode工程使用CocoaPods管理第三方库新建工程时出现错误

    工程使用CocoaPods管理第三方库,在新的目录update版本的时候出现如下问题   问题1描述: diff: /../Podfile.lock: No such file or director ...

  6. Xcode工程使用CocoaPods管理第三方库新建工程时出现异常

    Xcode工程使用CocoaPods管理第三方库新建工程时出现异常 Xcode工程使用CocoaPods管理第三方库新建工程时出现错误工程使用CocoaPods管理第三方库,在新的目录update版本 ...

  7. [爬虫]Windows下如何安装python第三方库lxml

    lxml是个非常有用的python库,它可以灵活高效地解析xml与BeautifulSoup.requests结合,是编写爬虫的标准姿势. 但是,当lxml遇上Windows,简直是个巨坑.掉在安装陷 ...

  8. 安装wordcloud第三方库Unable to find vcvarsall.bat

    前言 本来想要使用python爬一些数据的,制作词云,感觉挺好玩的,不过python安装第三方库的时候遇到了一些问题,有的问题比较好解决,有的就找了好久才知道怎么解决的,故记录下来. 环境 系统:wi ...

  9. Windows下如何安装python第三方库lxml

    lxml是个非常有用的python库,它可以灵活高效地解析xml,与BeautifulSoup.requests结合,是编写爬虫的标准姿势. 参考 Windows下如何安装python第三方库lxml ...

随机推荐

  1. Jmail的邮件发送

    下载注册dll文件 1. dll文件下载 2.到jmail.dll所在目录,运行cmd regsvr32 目录/jmail.dll 3.c#程序中,行首引用代码 using jmail C#示例代码 ...

  2. mysql 学习心得 [学习]

    http://www.cnblogs.com/lyhabc/p/3822267.html

  3. 编译openjdk源码

    http://www.cnblogs.com/ACFLOOD/p/5528035.html

  4. oracle drop table and purge

    一.drop表 执行drop table xx 语句 drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除. 通过查询回收站 ...

  5. 动作之CCActionInterval(持续动作)家族

    持续动作,顾名思义,就是该动作的执行将持续一段时间.因此持续动作的静态生成函数,往往附带一个时间值Duration. 持续动作类名后缀:一般有两种后缀,一种是To,一种是By.To表示最终达到的目标值 ...

  6. Deep Learning for NLP 文章列举

    Deep Learning for NLP 文章列举 原文链接:http://www.xperseverance.net/blogs/2013/07/2124/   大部分文章来自: http://w ...

  7. Linux Bash终端支持中文显示

    方法:修改系统变量LANG 即时生效: LANG=en_US.UTF- 永久生效: 修改.bashrc,加入 fi

  8. angular下H5上传图片(可多张上传)

    最近做的项目中用到了angular下上传图片功能,在做的过程中遇到了许多问题,最终都得以解决 angular上传时和普通上传时过程差不多,只不过是要不一些东西转化为angular的东西. 1.ng-f ...

  9. 一个java文件编译之后会产生多个class文件

    如图所示:如果编译后一个java文件中类有内部类的话,就会编译产生多个类

  10. 20160501--struts2入门2

    一.Action名称的搜索顺序 1.获得请求路径的URI,例如url是:http://server/struts2/path1/path2/path3/test.action   2.首先寻找name ...