目录:
CocoaPods简介
CocoaPods下载、安装教程
CocoaPods使用方法
- 使用CocoaPods的源码不能编译的问题处理
CocoaPods简介
在iOS开发过程中,会频繁使用第三方框架,比如AFNetWorking、友盟统计等等。而使用一些第三方框架时,一方面该框架还必须导入其他框架才能正常使用,我们需要不断、甚至重复导入;另一方面,有些框架会持续更新,不及时更新会导致错误。开发过程中因框架导致的问题层出不穷。因此,我们需要一个工具来帮我们管理所有的第三方框架,而CocoaPods就是上佳选择。
CocoaPods下载、安装教程
在安装CocoaPods之前,你的Mac需要安装有Ruby环境。Mac下Ruby环境搭建请参考我的另一篇博文:
Ruby环境搭建成功之后,开始下载、安装CocoaPods。操作在Terminator(终端)中进行。下文中以$开头的代码表明是在终端中输入的代码,不包括$符号。
下载、安装
终端中输入以下命令:
$ sudo gem install cocoapods
问题及解决方法
输入命令后分两种情况:
(1)安装正常进行:终端会自动下载、安装CocoaPods,无需其他操作,等待操作结束即可。
(2)终端无反应:原因是cocoapods.org被墙。解决方法:利用淘宝Ruby镜像访问CocoaPods:终端输入以下命令:
接着验证你的Ruby是且仅是淘宝,用以下命令查看:$ gem sources --remove https://rubygems.org/ //等有反应之后再敲入以下命令 $ gem sources -a http://ruby.taobao.org/
终端中出现以下内容表明成功:$ gem sources -l
终端中所有命令完成后,问题解决,重新输入install命令以安装CocoaPods:*** CURRENT SOURCES *** http://ruby.taobao.org/
$ sudo gem install cocoapods
至此,您的CocoaPods已经成功安装。如果安装失败,请重复以上操作。
CocoaPods使用方法
CocoaPods的使用方法与安装一样,需要在Terminator(终端)中进行。
添加第三方框架
本文以AFNetWorking为例,演示导入方法。AFNetWorking在GitHub中地址:https://github.com/AFNetworking/AFNetworking
首先创建一个Xcode项目,接着在终端中:
验证CocoaPods是否支持该框架:
几秒钟过后,如果看到有关该框架信息,表明支持该框架。$ pod search AFNetworking
添加过程:
打开项目目录:打开Xcode项目所在文件夹,即.xcodeproj为后缀的文件所在文件夹,***表示你的项目目录,直接拖拽该文件夹到终端即可:
创建Podfile文件:Podfile文件是CocoaPods管理第三方框架的主要文件,该文件内容中有哪些框架名,项目中就会存在哪些框架:$ cd ***
在Podfile中写入安装信息:框架方会为你提供安装信息,例如进入AFNetWorking主页中,在Podfile下即为安装信息:$ vim Podfile
(将该段整体写入或粘贴至终端中,TargetName改为Xcode项目名称。终端中,点‘i'为编辑状态,点’esc‘取消编辑。安装信息中,platform为框架支持的最高版本,pod行表示一个框架,及其版本。)source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' target 'TargetName' do pod 'AFNetworking', '~> 3.0' end
保存退出:此时,你的Xcode项目目录中会出现一个Podfile的文件。:wq
运行安装:
运行结果:$ pod install
EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install Analyzing dependencies Downloading dependencies Installing AFNetworking (2.0.2) Generating Pods project Integrating client project [!] From now on use `CocoaPodsDemo.xcworkspace`.
此时表明框架已经添加完成。使用#import<>或者#import""导入头文件即可。
重要提示:安装完成之后,Xcode项目目录下会出现一个新的CocoaPodsDemo.xcworkspace文件、Podfile文件、Podfile.lock文件、Pods文件夹。以后请使用CocoaPodsDemo.xcworkspace打开该项目。Podfile记录了框架信息。Podfile.lock为Podfile的临时记录文件。Pods文件夹储存框架等本地内容。
添加多个框架:
修改Podfile文件:在文本中添加多行pod,每一行pod即为一个框架。例如:
platform :ios, '8.0' target 'TargetName' do pod 'AFNetworking', '~> 3.0' pod '框架2' pod '框架3' end
更新项目:
(在这里使用 $pod install也可以,但是不推荐,因为当框架有更新时使用update会直接更新,而使用install则可能报错。)$ pod update
删除框架:
修改Podfile文件:在文本中删除改框架的pod语句,再update更新即可。
使用CocoaPods的源码不能编译的问题处理
当您在网络上下载一些iOS源码,有时编译时会报错,不能运行,那么有可能是该项目的第三方框架有问题。
打开该项目的目录,如果该目录下包含CocoaPods相关文件,如.xcworkspace文件、Podfile文件、Pods文件夹等,那么请使用本方法解决。如果没有相关文件,请自行查找其他方法解决。
解决方法:
双击Podfile文件,如果终端自动运行,那么等待完成后,使用.xcworkspace打开项目,即可编译运行。
如果不能运行,那么参照本文上述CocoaPods使用教程进行 $ pod update。完成后使用.xcworkspace打开项目,即可编译运行。