Carthage 使用于 Swift 语言编写,只支持动态框架,只支持 iOS8+的Cocoa依赖管理工具。
与现在流行的 CocoaPods 不同,Carthage编译你的依赖,并提供框架的二进制.framework文件,但你仍然保留对项目的结构和设置的完整控制,Carthage不会自动的修改你的项目文件或编译设置。是一个去中心化的Cocoa依赖管理工具
安装Carthage
先更新brew
$ brew update
注,如果提示:sudo chown -R $(whoami) /usr/local
执行一下就可以,因该会执行两次不一样的目录,最后还会提示你把权限改回root
安装carthaget
$ brew install carthage
查看carthage的版本号
$ carthage version
升级carthage
$ brew upgrade carthage
卸载Carthage
$ sudo brew uninstall carthage
使用Carthage,添加MKNetworkKit-Swift扩展为例
1、通过终端进入到项目所在的文件夹:
$ cd MyIOS/
2、创建一个空的carthage文件:
$ touch Cartfile
3、使用xcode打开cartfile文件
$ open -a Xcode Cartfile
并在打开的文件中加入以下内容
github "MugunthKumar/MKNetworkKit-Swift" "master"
4、保存并关闭cart file文件,在终端执行命令
$ carthage update
carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会创建一个名为Carthage的文件夹
在 MyIOS/ 里会出现MKNetworkKit.framework文件已经为你创建好了。
当然,你也可以通过命令行进入此文件夹:
$ open Carthage
执行update命令后,你的项目目录结构大致如下:
Cartfile:文件用来标注你需要哪些依赖库,对应版本或者 Git 分支(需要提交到 Git)。 Cartfile.resolved:文件用来跟踪项目当前所用的依赖版本号,为了保持多端开发一致(需要提交到 Git)。 Carthage:文件夹用来存放依赖库的源文件和编译后的文件(不需要提交到 Git,可以修改.gitignore文件,增加忽略 Carthage 文件夹就行了:#Carthage Carthage)。
5、引入Framework
将Carthage/Build/IOS/MKNetworkKit.framework直接拖入你的项目中
6、添加编译的额外脚本
Target—>Build Phases —>”+”—>New Run Script Phase—>添加脚本"/usr/local/bin/carthage copy-frameworks"
7、添加文件
Input Files—>添加路径"$(SRCROOT)/Carthage/Build/iOS/库名.framework"
8、然后可以使用https://github.com/MugunthKumar/MKNetworkKit-Swift中提供的Demo进行测试了