文章目录
一、Carthage简介
Carthage 是一款iOS项目依赖管理工具,与Cocoapods有着相似的功能,可以帮助你方便的管理三方依赖。它会把三方依赖编译成
framework,以 framework 的形式将三方依赖加入到项目中进行使用和管理。
二、与 Cocoapods 的异同
Cocoapods 是一个已经长期存在的对 iOS 三方依赖进行管理的工具,它已经相当的成熟,为什么要使用 Carthage 呢?
-
CocoaPods 的方式使用更简单,但 Carthage 更灵活,同时它对用户的工程没有侵入性。
在使用 CocoaPods 时,会为工程默认自动创建一个 Xcode workspace 来管理主工程和三方依赖,Carthage 使用 xcodebuild 将依赖构建成 framework 二进制文件,交给用户集成到自己的项目中。 -
CocoaPods 集中式管理,Carthage 是分散式管理
CocoaPods 在官方 README 中指出它的一个目标:
… to improve discoverability of, and engagement in, third party open-source libraries, by creating a more centralized ecosystem.
CocoaPods 可支持的所有三方依赖信息都被存储在 Specs 库中,方便所有的开发者使用和完善它。
相比而言,Carthage 是一个分散式的三方依赖管理工具。Carthage 没有所有三方依赖的信息列表中心,减少了网络等因素对访问类似这样一个信息列表的失败的可能性。但同时,这增加了用户去发现查找想要使用的三方依赖的难度,你必须访问 Github 的 Trending 或者类似的方式去查找想要使用的三方库。
CocoaPods 的工程必须有一个 podspec 文件,它包含了这个工程的元数据信息和构建信息。Carthage 使用 xcodebuild 构建依赖,来代替将依赖都集成到一个 workspace ,它没有类似像 podspec 的规格说明文件,不过你使用的依赖需要描述怎么构建他们的产品。
三、Carthage 使用
1. 安装 Carthage
- Carthage.pkg
到 Carthage官方下载 最新版本,直接使用
Carthage.pkg 安装 - 使用