相对于coacopoads优点:轻量级,灵活,不破坏项目原有结构;缺点:只负责下载与更新,具体如何使用需要开发者自己设置。
开始:
1、使用Homebrew 下载cathage
brew update
brew install carthage
2、使用
和创建cocoapoads 文件类似,你需要先切换到项目路径
(1) cd 你的项目路径 比如这是我的项目: cd /Users/jinshi/Desktop/swift/MoYaWebTest/ 注意cd后面有空格
(2)创建一个Carthage 文件,并打开:
vim Cartfile
(3)添加依赖库(远程和本地都可以)
打开Xcode:Preference:Locations 确保你的Command line tools 已经选择(目的是为了下一步 成功生成Build文件)
(4)下载/获得第三方库
carthage update --platform iOS --use-submodules
安装完成后手动打开的你项目文件夹,会有一个叫Cathage的文件夹,Build 和Checkouts 文件夹,而在Build/iOS下的.framework文件需要你拖动到项目中的Build Phases ->Link Binary With Libraries中。导入就可以去使用了。
注意点:
Cartfile.resolved:这个文件是辅助Cartfile的,需要被提交到版本库中,它有助于其他开发者使用和你相同版本的第三方库。
Build:包含每一个第三方库创建生成的framework,可以被集成到项目中,每一个framework都是依赖于源文件或者GitHub上的Releases版本。
Checkouts:这里包含的是转换成framework之前的源文件,Carthage有自己的缓存机制,所以不需要在不同的项目中对同一个的第三方库clone多次。
对于是否把Build和Checkouts文件夹提交到版本库取决于你,这不是必须的。如果提交的话,其他人clone了你的资料库就可以使用这两个文件中的内容
carthage update 会暴力无脑全体覆盖 ,一旦你或者你的开发小伙伴改动了某个库,所以这个命令就会将你的修改冲刷掉,不要改变Checkouts文件夹中的内容,因为如果使用carthage update或者carthage checkout命令的话,这个文件夹中的内容可以随时被复写,那么改动工作就白费了。如果一定要改动的话,在使用carthage update命令时,可以使用--use-submodules选项。如果加上这个选项的话,Carthage在添加每个依赖库的时候就会作为一个子模块。
如果其他人想要使用你的工程,你不需要在你的代码中提交已经编译好的framework,他们需要在check out你的工程之后执行carthage bootstrap命令;bootstrap命令会根据Cartfile.resolved文件下载和编译依赖库的精确版本。另一方面,carthage update命令会更新项目中的第三方库的最新的编译版本,这是不可取的。
网友评论