Carthage
CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库。然后 CocoaPods 就会进行下载,集成,然后修改或者创建我们项目的 workspace 文件,这一系列整体操作。
Carthage主张“去中心化”和“非侵入性”。
CocoaPods搭建了一个中心库,第三方库被收入到该中心库,所以没有收录的第三方库是不能使用CocoaPods管理的,这就是所谓的”中心化“思想。而Carthage没有这样的中心库,第三方库基本上都是从GitHub或者私有git库中下载的,这就是“去中心化”。
CocoaPods下载第三方库后,会将其编译成静态链接库或者动态框架文件,这种做法会修改Xcode项目属性配置依赖关系,这就是所谓的”侵入性“。而Carthage下载成功后,会将第三方库编译为动态框架,由开发人员自己配置依赖关系,Carthage不会修改Xcode项目属性,这就是所谓的”非侵入性“。
使用Carthage有俩个限制,具体如下
- 第三方库只能编译为框架;
- iOS项目版本必须是iOS以上的版本才可以。