cathage 仅支持iOS8.0以上的系统.
cathage是啥我就不说, 自行百度.
Carthage 相比 CocoaPods,采用的是完全不同的一条道路。Carthage 只支持动态框架,它仅负责将项目 clone 到本地并将对应的 Cocoa Framework target 进行构建。之后你需要自行将构建好的 framework 添加到项目中。和 CocoaPods 需要提交和维护框架信息不同,Carthage 是去中心化的 它直接从 git 仓库获取项目,而不需要依靠 podspec 类似的文件来管理。
使用上来说,Carthage 和 CocoaPods 类似之处在于也通过一个文件 Cartfile 来指定依赖关系。
我是分割线
让自己的开源项目支持 Carthage
Carthage 仅支持动态库,所以你的开源项目也只能支持 iOS8 及以上版本
Carthage 提供给用户的动态库是根据项目中的 动态库 Target
编译打包后生成的,所以首先我们需要新建一个 Target,选择 Cocoa Touch Framework(动态库),并设置 Deployment Target
添加 .h 文件到 Build Phases -> Headers -> Public
添加 .m 文件到 Build Phases -> Compile Sources
添加其它资源文件到 Build Phases -> Copy Bundle Sources
Carthage 只构建从 .xcodeproj 分享出来的 scheme,所以需要我们在 Manage Schemes 中将新生成的 scheme 设置为 shared
通过 carthage build --no-skip-current
来检测 scheme 是否能够构建成功,然后检查 Carthage/Build 目录
Carthage 通过搜索 Git tag 来决定用户可以下载哪个版本的项目资源,所以还需要在提交代码后添加 tag 并 push 到 GitHub,格式建议写成 1.2.0 或 v1.2
通过添加下面内容,用来在项目 Readme.md 文件上显示[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)