安装cocoapods 与carthage的时候,我们需要安装一个叫Homebrew,那什么是Homebrew?
Homebrew官方给出的解释是
macOS 缺失的软件包管理器
安装方法详见官网
它是对MacOS系统进行补充的。
完全基于 Git 和 ruby,所以自由修改的同时你仍可以轻松撤销你的变更或与上游更新合并。
Homebrew 的配方都是简单的 Ruby 脚本:
Homebrew 使 macOS 更完整。使用 gem 来安装 gems、用 brew 来安装那些依赖包。
那问题又来了?什么是gem。我们常常使用gem来更新ruby脚本
Gem介绍:
Gem是一个管理Ruby库和程序的标准包,
它通过Ruby Gem(如 [http://rubygems.org/](https://link.jianshu.com/?t=http://rubygems.org/) )
源来查找、安装、升级和卸载软件包,非常的便捷。
即 gem之如ruby,犹如cocoapods之如oc/swift
那carthage与cocoapods 又有什么相似性与区别?
carthage目标:用最简单的方式来管理Cocoa第三方框架
carthage性质:第三方框架管理工具(类似于cocoapods) Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件和生成配置,把对项目结构和设置的控制权交给用户
区别:
02 Carthage和cocoapods
1)使用了CocoaPods的项目是高度集成的,而Carthage更灵活强调尽可能将任务委托给Xcode和Git。
"CocoaPods在使用中会自动创建和更新workspace、依赖和Pod项目并进行整合;
"Carthage在使用中不需要创建和集成相应的workspace和project,只需要依赖打包好的framework文件即可。
"总结一下,CocoaPods的方法更容易使用,而Carthage更灵活且对项目没有侵入性。
2)CocoaPods相对来说功能要比Carthage多很多,因此也更复杂,而CocoaPods配置简单项目干净。
3)CocoaPods有一个中心仓库,而Carthage是去中心化的,没有中心服务器也就避免了可能因中心节点错误而带来的失败,即Carthage每次配置和更新环境,只会去更新具体的库,时间更快。
4)想让自己的第三方库支持Carthage比让其支持CocoaPods更加的简单。
5)Carthage的不足
① 库依然不如 CocoaPods 丰富
② 仅支持iOS8+
③ 工具尚且不如cocoapods晚上(已经发布了app)
④ 在使用第三方库的过程中无法查看源码
具体如何使用carthage引用第三方库的方法详见此文
网友评论