当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用;如果该开源类库还依赖一些其他的类库,则需要我们手动导入并配置,显得十分麻烦。此时第三方开源类库管理工具CocoaPods就显得十分重要了。接下来,就带大家看看CocoaPods的安装及使用:

一、下载和安装CocoaPods(使用终端)

在安装CocoaPods之前,首先要在本地安装好Ruby环境,默认情况下,Mac自带Ruby环境。因为Ruby的默认源rubygems.org使用的是亚马逊的云服务,在国内使用会被墙,所以需要更换一下Ruby的源,将其更换为国内淘宝的源。

1.移除现有Ruby默认源

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

 2.使用新的源  

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

 3.验证新源是否替换成功

 $gem sources -l

新源替换成功如下图:

 4.安装CocoaPods(分Mac系统进行)

(1)Mac系统:OS X EL Capitan(2015年9月29号发布)及之后

$sudo gem install -n  /usr/local/bin cocoapods

$pod setup

(2)Mac系统:OS X 10.10 Yosemite(2014年6月3号发布)及之前

$sudo gem install cocoa pods

$pod setup 

注意:输入pod setup之后可能会一直卡顿在Setting up CocoaPods master repo处,原因是CocoaPods版本升级到1.0.1版本后,其文件有800多兆大,需要慢慢下载。为了查看安装进度,可以另开启一个终端

(1)输入cd ~/.cocoapods;

(2)进入.cocoapods之后,输入du –sh查看已下载文件的大小。

 5.更新gem

  $sudo gem update --system  

备注:在输入上面的命令后需要输入密码(Mac电脑的开机密码),直接输入就好,上面的光标不会变化,输入完成后直接确定即可。

            更新完成后显示如下图所示:

二、CocoaPods的使用

1.测试CocoaPods的功能

当上面的步骤都做完,需要查看一下CocoaPods是否安装成功(一般会安装成功,不过也不排除一些意外),这时只需在终端输入pod search + 开源类库的名字(pod search AFNetworking)回车即可。

如果安装成功则如下图所示,会显示出相关的所有第三方开源类库。

如果安装失败,点击回车后会报一行红色错误,一般遇到这种情况最笨的办法就是重新安装。

2.简单实用CocoaPods(以一个例子来说明)

(1)在桌面上创建一个工程Demo。它的文件构成如下:

(2)在这个工程中创建一个Podfile文件(注意:名字必须是Podfile)

<1>使用终端创建Podfile文件

a.使用终端找到当前这个工程文件夹

$cd Desktop/Demo

b.创建空白的Podfile文件

 $touch Podfile

<2>使用高级记事本(如:Sublime Text 2)创建Podfile文件

创建一个空白文件并保存,文件名为Podfile(后面不跟任何字符)

此时的文件结构如下:

(3)在Podfile文件中写入要使用的第三方框架,这里以AFNetworking为例。打开终端,输入pod search AFNetworking回车,如下图所示,里面显示了AFNetworking这个开源类库的一些基本信息。

打开工程文件夹,选择Podfile文件,右击选择文本编辑或者高级记事本打开。

<1> CocoaPods 版本为1.0.1之前

只需要将Podfile文件中书写的那句复制并粘贴到Podfile文件中即可

<2> CocoaPods 版本为1.0.1及之后书写如下图所示:

第一行:platform :ios, '8.0' -----> 开源类库支持的项目最低系统版本;

第二行和第四行:这是CocoaPods升级1.0.1版本后新增的,单引号中间填写项目工程名,其书写时固定格式,两行中间是开源类库的配置信息;

第三行:这行信息是告诉CocoaPods去下载AFNetworking类库和它的3. 1.0版本,是一条配置信息。

(4)将开源类库导入工程中

<1>使用终端找到当前这个工程文件夹

  $cd Desktop/Demo

<2>安装第三方开源类库(跟新类库可使用$pod update)

$pod install

安装完成如下图所示

注意:上面绿色的两行内容意思是说:请关闭任何当前Xcode会话和使用的演示,从现在起使用“Demo.xcworkspace”这个项目。

这时再次打开项目文件就会发现多了三个文件,如下图所示:

此时按照提示双击Demo.xcworkspace这个文件(不再使用Demo.xcodeproj文件)打开项目,观察右侧导航面板有两个工程,第一个Demo工程是我们正常的开发工程,第二个Pods工程是开源类库依赖工程(使用CocoaPods导入的第三方开源类库都在这里面),如下图所示:

它的文件结构还是很明显的,我们需要特别注意的是AFNetworking已经在项目中了,并且测试是可以使用的(笔者使用Xcode7.3.1开发测试的,鉴于这个版本的提示比较坑,所以在使用时使用<>导入时有提示,但使用””导入时没有提示,不过此时使用何种导入方式都可以,都可以使用AFNetworking类库了,建议使用””导入)。

(5)总结CocoaPods的使用

<1>在终端搜索相应的开源类库,命令为:$pod search + 开源类库;

 <2>打开Podfile文件,修改其中的信息;

<3>安装(更新)即可,命令为:$pod install(或$pod update)。

3.使用CocoaPods的注意点

(1)从现在起,我们只需要使用后缀名为.xcworkspace的文件来开发;

(2)第三方类库会被编译成静态库供我们的工程使用,我们可以打开查看源码,但是不能做任何修改;

(3)笔者在此演示的是一个第三方开源类库的导入,其实多个第三方开源类库的导入是同样的操作,Podfile文件中的书写如下图所示:

(4)使用CocoaPods删除不用的类库

前面给大家演示了使用CocoaPods如何导入类库,如果不想使用其中某个类库怎么办呢?其实很简单,只要在Podfile文件中将不想用的类库的配置信息删除,并且在终端执行一次pod update命令即可,重新打开就会发现对应的类库已经被移除了。

(5)第三方开源类库版本号的各种写法与含义

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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

(6)每次更改了Podfile文件后都需要执行一次$pod update命令(此时如果新添加了类库,CocoaPods会下载新添加的类库,并且更新有新版本的类库)。

(7)CocoaPods的重新安装或者版本更新

这个有点繁琐,必须先卸载原先的CocoaPods,然后重新执行安装命令即可。其卸载命令为:

$ sudo gem uninstall CocoaPods

4.使用CocoaPods导入头文件的常见问题及解决办法

(1)CocoaPods找不到头文件

问题描述:使用CocoaPods时,import 找不到头文件。

问题原因:这是因为还没设置头文件的目录。

解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:${SRCROOT}   ,后边选择recursive(会在相应的目录递归搜索文件) ,就可以了。

注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths.

如下图:

(2)CocoaPods 导入头文件不提示

问题描述:使用CocoaPods时,import 导入头文件时,不提示文件名。

问题原因:这是因为还没设置头文件的目录。

解决办法:在项目的Target的里设置一下,添加CocoaPods头文件目录:目录路径直接写:$(PODS_ROOT)   ,后边选择recursive (会在相应的目录递归搜索文件),就可以了。

注意:是在 User Header Search Paths 里添加,不是上面的 Header Search Paths.

如下图:

iOS 最新版 CocoaPods 的安装使用的更多相关文章

  1. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  2. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

  3. iOS开发之CocoaPods的安装与使用

    前言部分 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods) 可以用来方便的统一管理这些第三方库. 一.安装 由 ...

  4. ios专题 - CocoaPods - 安装

    职业走得很累,停下来,温故技术.顺便开始我得ios博客文章. [原创]http://www.cnblogs.com/luoguoqiang1985 安装 第一步:执行以下命令 sudo gem ins ...

  5. 最新版 CocoaPods 的安装流程(包括EI Capitan版)

    1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taoba ...

  6. 最新版CocoaPods的安装和使用以及版本升级遇到的问题

    CocoaPods的下载及安装 mac系统已经默认安装好Ruby环境,如果你不确定自己系统中是否有Ruby的,可以在终端中输入命令行:ruby -v查看当前ruby版本.如图:  确定以后,接下来就可 ...

  7. 最新版CocoaPods的安装流程

    1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taoba ...

  8. CocoaPods的安装[转载]

    [转载] 原地址http://www.tuicool.com/articles/7VvuAr3 觉得很好,很有用 iOS 最新版 CocoaPods 的安装流程 1.移除现有Ruby默认源 $gem ...

  9. iOS开发学习-cocoapods的配置安装

    安装coacoapods步骤: 在终端输入如下命令,升级ruby版本: sudo gem update —system 出现这个,标志着安装成功. 完成之后,再输入如下命令: gem sources ...

随机推荐

  1. ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)

    题目链接:传送门 题意: 一个数被觉得是一个完美的数,仅仅要须要满足下面的两个条件之中的一个 1)x = 1 or 3 2)x = 2 + a*b + 2*a + 2*b; a.b都是完美的数. 分析 ...

  2. 2013 French Open Semifinal Press

    http://v.youku.com/v_show/id_XNTY4MTgzOTEy.html?firsttime=0 Novak, can you take any confirt   for qu ...

  3. nginx 流媒体 flv 播放 以及上传大小 配置文件设置

    nginx 流媒体 flv 播放 以及上传大小 配置文件设置   server {listen 80;server_name localhost;root /www/web/default;index ...

  4. jqgrid 获取当前页码

    jqgrid 获取当前页码 $('#gridTable').getGridParam('page'); /** *刷新,jqGrid刷新当前列表页代码 */ function refresh(url) ...

  5. 云服务器 ECS Linux 系统中常见的日志文件介绍

    云服务器 ECS Linux 系统中,日志文件是非常重要的文件,它们记录了很多系统中重要的事.Linux 系统中常见日志文件概述如下: /var/log/cron可以在 cron 文件中检查 cron ...

  6. Tuple类型

    Tuple类型类似的体现了C#中的匿名类型 var person=new { Name="Eric"; Age=18: } 调用: Console.writeline( perso ...

  7. 为VS2010默认模板添加版权信息 .

    通过以下方式可以自定义CS类文件代码模板(以下为VS2010,VS2008类似): 1,打开VS的安装目录,例如 D:\Program Files\Microsoft Visual Studio 10 ...

  8. ios UIWebView截获html并修改便签内容(转载)

    ios UIWebView截获html并修改便签内容 博客分类: iphone开发iphone开发phoneGap uiwebviewstringByEvaluatingJavaScriptFromS ...

  9. IOS开发 xcode报错之has been modified since the precompiled header was built

    转载的文章  很实用 IOS开发xcode报错之has been modified since the precompiled header was built 今天做百度地图的时候第一次发现下面错误 ...

  10. What are definitions of ​Model, Inference and Algorithm and its associations ?

    1.拿初中的二元一次方程来说明: 1.1)说model就好比一元二次方程,它是个方程模型: 1.2)再说inference是求解该方程的某种方法--加减消元法(重在推理): 1.3)最后说algori ...