Carthage和CocoaPods

Carthage和CocoaPods和都是主流的iOS包管理工具。其中CocoaPods比较主流,因为使用方便,开发者很容易就可以将一个第三方库集成到自己的项目里。
但是CocoaPods会改变项目结构, CocoaPods 会生成一个 Workspace,打开项目需要通过新建的Workspave,不然项目会报错。而Carthage就不会。
Carthage编译你的依赖,并提供框架的二进制文件,但你仍然保留对项目的结构和设置的完整控制。Carthage不会自动的修改你的项目文件或编译设置。
PS:Carthage和CocoaPods在同一个项目里面可以混用!!
CocoaPods
安装
安装CocoaPods需要Ruby环境,Ruby是Mac OS X自带的,所以可以直接安装。
输入以下命令就可以安装:
| 1 | sudo gem install cocoapods | 
国内安装会卡住,因为链接被墙了。这时候可以用VPN或者淘宝Ruby镜像来访问。
按照下面的顺序在终端中敲入依次敲入命令:
| 1 | gem sources --remove https://rubygems.org/ | 
等有反应之后再敲入以下命令:
| 1 | gem sources -a http://ruby.taobao.org/ | 
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
| 1 | $ gem sources -l | 
只有在终端中出现下面文字才表明你上面的命令是成功的:
| 1 | *** CURRENT SOURCES *** | 
这时候再运行
| 1 | sudo gem install cocoapods | 
就可以了
使用
举个例子吧
比如你想安装 AFNetworking https://github.com/AFNetworking/AFNetworking
先在终端输入
| 1 | $ pod search AFNetworking | 
可以看到以下结果,说明可以用CocoaPods安装 AFNetworking

或者,可以直接去AFNetworking的Github页面上看,一般支持CocoaPods安装的项目作者都会写到README.md里面
- 在你需要用到的工厂目录下创建个新文件,文件名交 - PodFile。
  
- 在 - PodFile中加入- 1 
 2- platform :ios, '8.0' 
 pod 'AFNetworking', '~> 3.0'
- 然后在终端CD到项目目录下,输入 - 1 - $ pod install  
这时候文件目录就会变成这样:
现在点击.xcworkspace 才可以正常打开项目。
Carthage
Carthage的基本工作流:
- 创建一个Cartfile,包含你希望在项目中使用的框架的列表。
- 运行Carthage,将会获取列出的框架并编译它们。
- 将编译完成的.framework二进制文件拖拽到你的Xcode项目当中。
安装
Carthage提供OS X平台的pkg安装文件,你可以从Github的最新release中找到,按照引导一步步安装即可。
使用
假设项目中要加入AFNetworking
- 在项目目录下创建一个叫做 - Cartfile的文件
- 文件中写入 - 1 - github "AFNetworking/AFNetworking" ~> 3.0  
- 然后在控制台中CD到项目目录下,输入 - carthage update

然后文件目录就会变成这样:

在Carthage->Build->iOS找到AFNetworking.framework

将framwork拖入项目中就可以使用了。
参考资料
http://www.open-open.com/lib/view/open1436886568084.html
http://blog.csdn.net/iunion/article/details/17010267