昨天搞了一下pod的安装 因为之前我都是在使用pod来进行第三方库的管理 但是拿到项目之后 竟发现这个前辈是用Carthage
说真的在这之前我从来没有用过这个玩意
因为我感觉用POD已经很好了啊 很方便啊
之后就是上网查资料 看看这个Carthage到底是个什么鬼东西
简介
轻耦合,更灵活;使用 xcodebuild
工具来编译依赖项目成二进制 Framework,再引入到项目中去。
Carthage 是由 Swift 语言写的,只支持动态框架,只支持 iOS8+。
Carthage 的大致工作流程如下:
- 创建一个
Cartfile
文件,写好你要哪些依赖库 - 执行
carthage update
命令拉取源代码并编译为 Framework - 把编译后的
.framework
拖到项目中去即可 (官方是这么说的,不过更好的办法是把 Carthage 编译的 Framework 路径加入到 Build Setting 中的 Framework Search Path,详情见后文)
看完简介 我们再说正事 啊哈哈
安装Carthage只需要打开终端,输入如下指令:
$ brew update
$ brew install carthage
如果你不喜欢使用终端,也可以从网站https://github.com/Carthage/Carthage/releases下载最新版的Carthage.pkg来更新。
当你安装好Carthage后,在终端执行
$ carthage version
即可看到当前的carthage版本, 当写这篇文章的时候,Carthage的版本为0.11.0 。
现在,你已经安装好了Carthage,接下来就是在你的项目中使用carthage了:
1、通过终端进入到项目所在的文件夹:
$ cd ~/Path/Project
后面的路径替换成你的项目所在的路径即可
2、创建一个空的carthage文件:
$ touch Cartfile
此时你的项目文件夹里会创建一个名为Cartfile的文件。
3、使用xcode打开cartfile文件
$ open -a Xcode Cartfile
并在打开的文件中加入以下内容
github "Alamofire/Alamofire" ~> 3.0
github "SwiftyJSON/SwiftyJSON"
版本的含义
~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9
== 3.0 表示使用3.0版本
>= 3.0表示使用3.0或更高的版本
如果你没有指明版本号,则会自动使用最新的版本
4、保存并关闭cart file文件,在终端执行命令
$ carthage update --platform iOS
carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会创建一个名为Carthage的文件夹
在 ~/Carthage/Build/iOS里会出现xxx.framework文件已经为你创建好了。
当然,你也可以通过命令行进入此文件夹:
$ open Carthage
5、现在打开你的项目,点击project,选择target, 再选择上方的General,将需要的framework文件拖到 Linked frameworks and Binaries内
6、点击Build Phrase tab选项,添加相应的run script
此时,你已经可以使用导入的第三方库了
如需要使用Alamofire和SwiftyJSON,就在相应的类前添加
import Alamofire
import SwiftyJSON
即可。
现在,就开始享受Carthage吧。