在我们开发移动应用的时候,一般都会使用到第三方工具,而由于第三方类库的种类繁多,我们在项目中进行管理也会相对麻烦,所以此时我们就需要一个包管理工具,在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. 使用phpize建立php扩展(Cannot find config.m4)(转)

    php源码:/root/soft/php-5.3.4php安装: /usr/local/php [root@ns root]# phpizeCannot find config.m4.Make sur ...

  2. bind的例子

    10.24 给定一个string,使用bind和check_size在一个int的vector中查找第一个大于string长度的值. #include<iostream> #include ...

  3. MySQL【第三篇】数据类型

    一.整型 整型的每一种都有无符号(unsigned)和有符号(signed)两种类型. MySQL数据类型 含义 tinyint(m) 1个字节表示:signed(-128~127):unsigned ...

  4. gulp 实践

    文档站YDoc 相关注意事项 sass 编译 目录结构 可以直接使用sass编译 ➜ ydoc git:(v2) ✗ sass ./sass/app.scss ./template/source/ap ...

  5. 提升资源利用率的MapReduce框架

    Hadoop系统提供了MapReduce计算框架的开源实现,像Yahoo!.Facebook.淘宝.中移动.百度.腾讯等公司都在借助 Hadoop进行海量数据处理.Hadoop系统性能不仅取决于任务调 ...

  6. 1.Linux系统(CenntOS)固定IP的设定

    首先:我们配置一个临时的固定的固定ip,作用是让我们用其他的shell工具连接虚拟机 ifconfig eth0 192.168.10.168 在主机用ping命令查询连通后再进行下一步 ping 1 ...

  7. Java中的编码问题

    下面将侧重介绍java乱码是如何产生的.存在哪些乱码的情况.该如何从根本上解决乱码问题.各位随博主一起征服令人厌烦的java乱码问题吧!!! 一.Java编码转换过程 我们总是用一个java类文件和用 ...

  8. 移动端 touch 实现 拖动元素

    var homeMove = (function () { //touch自适应 var k = "ontouchend" in window ? "touchend&q ...

  9. "只能在执行Render()的过程中调用RegisterForEventValidation" 解决方案

    开发中遇到令人蛋疼的问题: 只能在执行Render()的过程中调用RegisterForEventValidation 当出现的异常的提示: 异常详细信息: System.InvalidOperati ...

  10. "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效"的快速解决方法

    引自:http://hi.baidu.com/fynaa/item/c2978952d8d542dfd48bacf6 讲了一大堆: 综合下: 解决方案:select session_id from v ...