1.安装carthage
首先是安装brew,终端命令:
curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/local --strip 1
升级brew
brew update
然后开始安装carthage
brew install carthage
2.使用carthage
终端cd到自己的工程目录,运行touch Cartfile(新建一个Cartfile文件)
,然后在Cartfile文件输入github "Alamofire/Alamofire"(以Alamofire框架为例子)
,保存退出,终端运行carthage update,等update结束之后发现多了Cartfile.resolved文件和Carthage文件夹,其中Carthage/Checkouts里面的是框架的源码,而Carthage/Build里面的是已经将框架编译成.framework静态库的库文件,iOS/Mac/tvOS/watchOS一应俱全.
3.集成框架到工程
如果目标工程是 OS X 应用, 在 Xcode 的目标应用程序 target 的 General 设置标签中的 Embedded Binaries
区域,将框架从 Carthage.build 文件夹拖拽进去。OS X 工程设置到此为止。
如果是目标工程是 iOS 应用,在 Xcode 的目标应用程序 target 的 General设置标签中的 Linked Frameworks and Libraries
区域,将目标框架从 Carthage.build 文件夹拖拽进去。在 Xcode 的目标应用程序 target 的 Build Phases
添加新脚本 New Run Script Phase
,输入内容:
/usr/local/bin/carthage copy-frameworks
input Files处输入为:
$(SRCROOT)/Carthage/Build/iOS/ReactiveCocoa.framework```
对应为```原工程目录 / Carthage/Build/iOS/xxx.framework```文件。
最新补充: 最近更新了Xcode8.3,swift语法升级到了3.1,然后一些框架编译报错说框架编译的环境是swift3.0.2,如何解决?
使用这个命令更新框架
carthage update --platform iOS --no-use-binaries
因为添加了 --no-use-binaries 之后就取消carthage预编译框架,转而使用本地环境编译,这样就会适应到本地的swift语言版本