Xcode集成POD的过程及问题解决


CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

Cocoapods意义体现在两个方面。第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

运行Ruby

首先我们要明白CocoaPods是用Ruby实现的,要想使用它要有Ruby环境。OS X系统默认可以运行Ruby。在我们的电脑中进入终端,输入如下指令:

sudo gem install cocoapods

由于是安装操作,所以需要sudo来获取管理员权限,回车后我们会看到password字样,输入我们的电脑的密码即可

安装过程中可能遇到一些问题:

1Ruby的默认源错误。

如果osx升级到10.10就会出现

或者国内网络问题,可能会被封掉,导致安装失败.

然后终端输入:gem sources –l 查看下载源

如果安装失败的话,可以尝试换一个下载源(国内比较常用的是http://taobao.org/),操作如下:

如果显示测不是自己添加的下载源,

终端输入:gem sources –u,更新地址

然后再次执行

(2)gem版本过老

解决办法:

sudogem update --system

(3)安装完成后,执行pod setup命令时报错

这是路径设置问题,执行命令:

rvm use ruby-1.9.3-p448

升级CocoaPods

执行命令:

sudogem install cocoapods

接着,电脑便会自动安装POD

看到“** gems installed”就表示安装完成了。

使用cocoapods

下面便是如何把POD集成到我们项目的操作

我们先创建一个工程

在命令行 cd 当前的工程的根目录

初始化POD

输入查看帮助的指令来查看帮助 pod --help

输入命令:pod init

这个命令会在工程的根目录创建一个Podfile文件

编辑Podfile

终端输入:pod search MBProgressHUD (注意:MBProgressHUD就是要添加的框架的名称)

如果输入pod search MBProgressHUD之后,出现Setting up CocoaPods master repo并停住不动了不要着急,这是Cocoapods在将它的信息下载到~/.cocoapods里,

你可以cd到该目录里,用du –sh*命令来查看文件大小,每个几分钟查看一次下载进度。搜索完成后可能出现很多结果,

复制要加入框架下的pod开头的代码,如下:

pod 'MBProgressHUD', '~> 0.9.1'

查看当前文件下的所有文件目录

我们会发现里面有一个名为Podfile的文件,我们用vi编译器对它进行修改,添加我们需要的框架和插件

输入命令:vi Podfile,来编辑Podfile文件

按下“i”,进入编辑模式,把光标移动到需要的位置,输入复制的pod语句:pod 'MBProgressHUD', '~> 0.9.1'

按下”esc”+”shift”+”;”退出编辑模式

输入“wq”,回车,退出vi编译器

执行导入命令

输入下面的语句准备安装

pod install --verbose --no-repo-update

现在就安装成功了

我们查看一下我们的工程的文件夹目录

会发现多了一个workspace的工程,没错,就是这个家伙。我们原来的工程还在,如果以后要用集成了POD的工程的话就要用workspace的工程。

接下来就可以使用我们安装的库了。

导入过程中遇到的问题

1pod install不能使用

开始使用的是pod install然后出就现updating local specs repositories,

并且长时间没有变化,网上找到资料说pod install命令被墙了,就关闭终端,再次打开通过cd **命令进入项目根目录后,输入:pod install --verbose --no-repo-update,就成功了。

2)出现错误“Failed to send stats: SSL_connect returned=1 errno=0 state=SSLv2/v3 read   server hello A: ssl……”

cocoapods版本降低到0.37.2就可以解决,版本降低方法:

第一步移除pod组件

输入命令:which pod

输入命令:sudo rm –rf <path>,可以手动移除这个组件

第二步移除RubyGames中的Cocoapods程序包

RubyGames(简称gems)是一个用于对Ruby组件进行打包的Ruby打包系统。它提供一个分发Ruby程序和库的标准格式,还提供一个管理程序包包装工具。

查看gems本地程序包

输入命令:gem list

移除程序包

输入命令:sudo gem uninstallcocoapods –v 0.39.0

输入命令:sudo gem uninstallcocoapods-core –v 0.39.0

然后安装指定版本的cocoapods

输入命令:sudo gem install cocoapods–v 0.37.2

查看版本,输入命令:pod --version

运行调试

1、      运行时报错:'MBProgressHUD.h' file not find

设置Project->Info->Configurations,在Configurations里面把DebugReleaseNone改为pods就可以啦。


版权声明:本文为taixuanzhenren原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。