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字样,输入我们的电脑的密码即可
安装过程中可能遇到一些问题:
(1)Ruby的默认源错误。
如果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 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的工程。
接下来就可以使用我们安装的库了。
导入过程中遇到的问题
(1)pod 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里面把Debug和Release的None改为pods就可以啦。