1、安装更新brew
$ brew update
如果出现错误 Error: /usr/local must be writable!
没有写权限,我运行了命令$ brew doctor
然后在警告⚠️里面找到解决办法,复制并运行了$ sudo chown -R $(whoami) /usr/local
;
2、安装carthage
$ brew install Carthage
$ carthage version
现在我Carthage的版本为0.18.1
3、项目中使用carthage
1、
$ cd /Users/safari/Desktop/CarthageTest //进入到示例项目所在的文件夹
$ touch Cartfile //创建一个空的carthage文件
$ open -a Xcode Cartfile //使用xcode打开cartfile文件,自己手动打开也可
2、
在打开的Cartfile文件中加入以下内容:
github "ReactiveCocoa/ReactiveCocoa"~>2.5
~> 2.5 表示使用版本2.5以上但是低于3.0的最新版本,如2.5, 2.9
== 2.5 表示使用2.5版本
>= 2.5表示使用2.5或更高的版本
如果没有指明版本号,则会自动使用最新的版本
3、
保存并关闭cart file文件,在终端执行命令
$ carthage update --platform iOS
//carthage会下载和编译所需要的第三方库,当命令执行完毕,会在项目文件夹中会创建一个名为Carthage的文件夹
在 ~/Carthage/Build/iOS里会出现已经为你创建好的xxx.framework文件。
4、
4.1、打开项目,选择target->General,将需要的framework文件拖到 Linked frameworks and Libraries内
QQ20161111-0@2x.jpg
4.2、在Build Phases中添加编译的额外脚本,点击“+” -> New Run Script Phase
添加脚本 :
/usr/local/bin/carthage copy-frameworks
添加"InputFiles":
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework
QQ20161111-0@2x.jpg
5、在项目中使用第三方库
@import ReactiveCocoa;
总结
- Carthage使用了一种极为精简的方式来管理第三方库,将源码编译成Framework的二进制文件,然后让开发人员来负责library的管理、导入等等。
- Carthage希望变成一个去中心化的依赖管理系统,不提供中心化的项目列表,减少维护成本和单点失败的概率。不过这样给开发人员寻找项目带来不便。
- 比起CocoaPods减少了对现有项目的侵入性,使用起来也挺方便。
网友评论