怎样使用Carthage

正文

CocoaPods发展到现在基本上已经是ios开发的标准依赖工具,我们只需要安装好pod后在项目中新建一个Podfile文件并且写入你需要的三方框架,就能很方便得使用第三方框架,搞技术的都喜欢造轮子,这不又一个轮子Carthage,那它到底有什么优点,是否值得我们换掉CocoaPods呢?

Carthage优点有两点:

  • 去中心化
  • 不修改项目配置

对于第一点 也就是不再像CocoaPods那样统一管理所有的项目,一旦CocoaPods停了 就没法使用了

它的机制是把项目下载下来(现在一般都在github上,当然也可以在其它git仓库上)
把需要的组件编译成Dynamic framework(动态库) 所以不需要修改项目配置,只要把生成的库引用到项目中即可

但是他也有相应的缺点

  • 下载编译慢(因为要把项目下载下来 再编译)
  • 生成的动态库文件较大(比如Alamofire用pod只会引入200多k的代码,但生成的库(iOS)就有9M多,并且生成的是多个平台的(iOS,Mac,tvOS,watchOS))一共37M,我的天

所以对我来说 我是拒绝用Carthage

但是既然学了 就记录一下该怎么用它

使用方法

下载安装Homebrew

打开终端窗口, 粘贴以下脚本

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

接下来就能安装Carthage

1
2
brew update
brew install carthage

在你的工程里创建一个Cartfile文件 ,并在里面写上类似下面的内容

1
github "Alamofire/Alamofire" ~> 3.3

然后执行

1
carthage update

它会在你的工程目录里生成一个Carthage的文件夹,里面有帮你自动生成的framework
一个Cartfile.resolved文件 来记录正在使用的第三方库的版本
直接把framework拖到工程里就可以使用或者添加frameworksearch path

让你的项目支持Carthage

具体的方法可以参考这篇文章
Carthage使用心得-让自己的项目支持Carthage