CocoaPods的简单介绍及安装和使用

 

一、CocoaPods是什么?

当你开发iOS应用时,会常常使用到非常多第三方开源类库。比方JSONKit。AFNetWorking等等。

可能某个类库又用到其它类库,所以要 使用它,必须得另外下载其它类库。而其它类库又用到其它类库,“子子孙孙无穷尽也”,这或许是比較特殊的情况。总之小编的意思就是,手动一个个去下载所需 类库十分麻烦。第二种常见情况是,你项目中用到的类库有更新,你必须得又一次下载新版本号。又一次增加到项目中,十分麻烦。假设能有什么工具能解决这些恼人的 问题。那将“善莫大焉”。所以,你须要
CocoaPods。

CocoaPods应该是iOS最经常使用最有名的类库管理工具了。上述两个烦人的问题。通过cocoaPods。仅仅须要一行命令就能够全然解决,当然 前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以。作为iOS程序猿的我们。掌握CocoaPods的使用是 不可缺少的基本技能了。

CocoaPods是一个能够帮你集中管理第三方库的开源项目,执行在Ruby的环境下,基于GitHub托管优势,你能够非常方便的查阅眼下依赖于CocoaPods的资源.

而且,CocoaPods是可靠,稳定,安全的.能够为你在使用第三方库资源时节省大部分的配置和部署时间.更专心的专注于Coding!

二、安装CocoaPods

1、CocoaPods是用Ruby实现的,要想使用它首先须要有Ruby环境。幸运的是OS X 10.5以上的系统默认的已经能够执行Ruby了。可是在给新机子安装时 发如今终端里输入 sudo geminstall cocoapods 这个命令没有反应或者出现例如以下的错误提示:

 

原因是cocoapods.org被墙了google一下。发现能够使用淘宝的Ruby镜像来訪问cocoapods。依次运行以下的代码:

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

通过以下命令查看ruby镜像是否被设置成淘宝了:

gem sources -l

假设显示的是下方的样子。说明成功了

*** CURRENT SOURCES *** http://ruby.taobao.org/

这个时候再运行安装cocoapods命令,就能够安装成功了

sudo gem install cocoapods

另外使用的时候须要注意的是安装完毕后。第一次执行以下命令安装第三方库的时候,须要等待一段比較长的时间,不是出错了也不是没有响应,是真的要等非常久,切勿取消。耐心等待下。

假设成功 会有一个 Successfullyinstalled cocoaPods的提示

然后输入

pod setup

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRWR1b3JhX21laW1laQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2、创建一个 Podfile 文件

然后输入一下命令:

(1)$cd /Users/lihongmei/Desktop/LocationManager-master

(2)$touch Podfile

首先进入到project的根文件夹下,创建空白的Podfile文件,创建完成的文件夹结构例如以下:

3、编辑Podfile

依据须要,我们能够在Podfile文件里写入须要用到的第三方库,以SBJson、AFNetWorking、Reachability三个库为例、我的Podfile例如以下:

在刚才打开的空白Podfile中增加你想要的,如

platform :ios

pod 'Reachability',  '~>3.0.0'

pod 'SBJson', '~> 4.0.0'

platform :ios, '7.0'

pod 'AFNetworking', '~> 2.0'

然后将这个写入数据的 Podfile保存后关闭在终端输入

pod install

然后终端会有显示 演示样例:

[!] From now onuse `name.xcworkspace'.

这说明Pod install命令运行成功了。再来看看project文件夹发生的变化例如以下图:



假设在终端中输入pod install出现例如以下问题:

则说明你所创建的Podfile文件没有和

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRWR1b3JhX21laW1laQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

在一起。仅仅须要把Podfile文件和这三个文件放到一起就能够。

最后:是的就像你看到的。你打开project须要双击 .xcworkspace
这个project,而不是之前的xcodeproj!!

注意:使用Search命令来看看你须要的第三方库是否存在!

命令:pod search SDWebImage 

CocoaPods的简单介绍及安装和使用的更多相关文章

  1. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  2. openresty开发系列10--openresty的简单介绍及安装

    openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏 ...

  3. Nessus简单介绍与安装

    1.Nessus简单介绍与安装 1.Nessus简介 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它.该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库.Ne ...

  4. Cloudera impala简单介绍及安装具体解释

    一.Impala简单介绍 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用同样的统一存储平台,Impala也使 ...

  5. MongoDB(1)--简单介绍以及安装

    前段时间接触了NoSql类型的数据库redis,当时是作为缓存server使用的.那么从这篇博客開始学习还有一个非常出名的NoSql数据库:MongoDb.只是眼下还没有在开发其中使用.一步一步来吧. ...

  6. Mahout学习之Mahout简单介绍、安装、配置、入门程序測试

    一.Mahout简单介绍 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的 ...

  7. Kurento应用开发指南(以Kurento 5.0为模板) 之中的一个:简单介绍,安装与卸载

    文件夹 1. Kurento是什么               3 2. Kurento简单介绍                       3 2.1 WebRTC媒体server         ...

  8. 【Hadoop离线基础总结】Hue的简单介绍和安装部署

    目录 Hue的简单介绍 概述 核心功能 安装部署 下载Hue的压缩包并上传到linux解压 编译安装启动 启动Hue进程 hue与其他框架的集成 Hue与Hadoop集成 Hue与Hive集成 Hue ...

  9. 【Hadoop离线基础总结】impala简单介绍及安装部署

    目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...

随机推荐

  1. centos 80端口占用

    netstat -lnp|grep 80 kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入)service httpd start #启动apache

  2. shp系列(三)——利用C++进行DBF文件的读(打开)

    1.DBF文件要点 DBF文件又叫属性文件,也叫dBASE文件,文件后缀是.dbf,实际上ArcGIS打开后的属性表就是DBF的信息.DBF文件遵循以下几个条件: 每个要素在表中必须要包含一个与之相对 ...

  3. HDU1412 {A} + {B}

    2019-05-17 10:15:01 每个元素之间有一个空格隔开. 每行最后一的元素后面没有空格,区别于HDU人见人爱A - B 注意使用STL的时候要清空 .  a.clear(); #inclu ...

  4. Kaggle爆文:一个框架解决几乎所有机器学习问题

      上周一个叫 Abhishek Thakur 的数据科学家,在他的 Linkedin 发表了一篇文章 Approaching (Almost) Any Machine Learning Proble ...

  5. getElementsByName使用

    查了下手册,getElementsByName()不能提取没有name属性的标签.div标签本身没有name属性,所以不能被提取.有name标签的主要是各种input标签,所以默认情况下getElem ...

  6. Core篇——初探IdentityServer4(客户端模式,密码模式)

    Core篇——初探IdentityServer4(客户端模式,密码模式) 目录 1.Oatuth2协议的客户端模式介绍2.IdentityServer4客户端模式实现3.Oatuth2协议的密码模式介 ...

  7. 运行Tomcat闪退问题,报的错误:Unsupported major.minor version 51.0

    在MyEclipse中运行tomcat,tomcat闪退并且报以下错误. java.lang.UnsupportedClassVersionError: org/apache/catalina/sta ...

  8. Java入门第一季——从此投身Java??

    找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简 ...

  9. MVC ViewData和ViewBag 参数名一样表示同一个值

    @ViewData["MenuName"] 和 @ViewBag.MenuName 表示同一个值

  10. Robot Framework(四)创建测试套件

    2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于1 ...