Carthage是GitHub上开源的、用于Cocoa开发的三方依赖管理工具。GitHub地址:https://github.com/Carthage/Carthage
通过Carthage,我们在iOS项目的开发中可以很方便的对三方依赖进行配置管理。
Carthage的原理,简而言之,是通过配置文件Cartfile指定所依赖的三方框架,Carthage通过分析配置文件的内容,通过从github、git仓库或二进制包URL获取依赖,生成为同时包含模拟器和真机目标代码的.framework库。
介绍略
终端执行:brew install carthage
即可
注意:终端安装,Mac需要先安装homebrew,homebrew的安装可以见我的另一篇博文:新mac安装CocoaPods完整流程
通过Cartfile文件指定三方依赖
指定代码仓库,以GitHub为例
git “https://github.com/liangzhen6/LZImageBrowser” ~> “master”
指定二进制包地址
binary “https://xxxxxxxxxxx/test.json”
而test.json的内容为:
{
“2.3”: “https://xxxxxxxxxxx/test.framework.zip”,
“3.0.3”: “https://xxxxxxxxxxx/test.framework.zip”
}
有2个不同版本的test.framework可供使用,可指定使用版本。
注意:Carthage要求通过URL配置二进制包,必须使用HTTPS协议。
命令:
carthage build --no-skip-current
carthage archive YourFrameworkName
或
carthage build --archive
carthage update --platform iOS
platform iOS指定iOS平台,不指定则生成匹配所有平台的依赖包。/usr/local/bin/carthage copy-frameworks
如何通过Carthage共享自己工程的编译规则
carthage build --no-skip-current
命令验证是否正确的共享了scheme。Carthage对于多层依赖管理的处理方式
如果一个依赖包依赖了另外一个依赖包,Carthage只需要集成顶层的依赖包到carlift文件中,Carthage会迭代解析下载所有的依赖包。