用最简单的方式来管理Cocoa第三方框架---Carthage安
除了Cocoapods还可以使用Carthage来管理第三方库。Carthage不会创建xcworkspace文件,仍旧依靠xcodeproj文件来运行工程。Carthage相对于Cocoapods来说,配置起来稍微麻烦了一点点,但是优势在于耦合度不高,仅仅依赖打包好的 framework 文件即可,可以像使用苹果原生的framework一样干净整洁。
下面介绍如何安装Carthage.
1)在“终端”中运行如下命令更新 homebrew
brew update
2)安装 Carthage
brew install carthage
我安装Carthage的时候Xcode版本尚为8.0,但是此时的最新版本为8.1,所以终端中显示了错误,让我将Xcode升级到8.1版本。升级后重新执行后没有报错。
3)安装完毕后执行 carthage version 命令可查看版本。
终端中显示了此时的版本0.18.1
Carthage用法
在这介绍如何使用Carthage,我用惯了Cocoapods,觉得使用这个Carthage有点笨,但是萝卜白菜各有所爱,有的公司就是使用Carthage.
1)首先进入到工程的根目录下,创建空白的 Cartfile 文件。
cd /项目文件目录
touch Cartfile //建立Cartfile文件
打开Cartfile文件,写入下列语句
github "Alamofire/Alamofire" ~> 3.0
github "SwiftyJSON/SwiftyJSON"
关闭并保存Cartfile
carthage update --platform iOS
这时 Carthage 就会自动为我们下载和编译所需要的第三方库。
命令执行完毕后,在项目文件夹中会创建一个名为 Carthage 的文件夹。而在 Carthage/Build/iOS 文件夹下就是刚创建好的 framework 文件。
打开我们的工程项目,将上面的两个 framework 拖到 General -> Linked Frameworks and Libraries 中来。
点击配置页的 Build Phases 标签坐上角的加号,添加一个 Run Script
将新增的 Run Script 做如下修改:
Shell 下方文本区域输入:
/usr/local/bin/carthage copy-frameworks
input Files 中添加需要导入的库:
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework
最后开发时,我们只需要在使用的时候 import 一下需要的库就可以了
修改或更新第三方组件库
1)如果我们项目引用的库没有改变,只是想要将这些库更新到最新版本,则执行 update 命令即可。
carthage update --platform iOS
2)如果要新增第三方库,或是删除原有的库。我们先编辑修改 Cartfile 文件。再执行执行 update 命令。
carthage update --platform iOS
3)最后打开项目,修改 General -> Linked Frameworks and Libraries 中的库引用。 以及 Run Script 中的 input Files 里相关内容即可。