快速上手
1. 安装 carthage
brew install carthage
2. 创建依赖文件
在项目根目录下创建 Cartfile 文件。在文件中写入依赖,比如:
github "Alamofire/Alamofire" ~> 4.7.2
3. 下载并编译依赖库
在项目根目录下执行 carthage update
命令,Carthage 会根据 Cartfile 文件下载并编译依赖库。运行后生成 Cartfile.resolved 文件与 Carthage 目录。
# 使用 --cache-builds 参数,可以令 Carthage 不重复编译已编译过的库 carthage update --cache-builds # 使用 --platform 参数,指定要编译的目标平台 carthage update --platform macOS, iOS # 设置下载代理 # 设置临时环境变量 https_proxy,该变量只对跟在后面执行的那一句脚本起作用 https_proxy=http://127.0.0.1:1984 carthage update # 设置 Xcode 版本 # 设置临时环境变量 DEVELOPER_DIR,并执行 carthage update 命令 DEVELOPER_DIR=/path/to/Xcode-beta.app/Contents/Developer carthage update
4. 在编译生成的 .framework 手工添加到项目
打开 Xcode,进入项目的 Targets 配置,在 General 面板,将编译后生成在 Carthage/Build/<platform>/ 目录下的 .framework 拖到这个 “Frameworks, Libraries and Embedded Content” 列表中。
然后在打开 Build Phases 面板,点击左上角的 + 号,选择 “New Run Script Phase”。然后将下面这行代码添加到 Run Script 中:
/usr/local/bin/carthage copy-frameworks
在 Input Files 中添加上要加入的依赖库.framework。
5. OK,可以在代码中使用第三方库啦。
查看帮助文档
# 查看 carthage 所有命令 carthage help # 查看 update 命令支持的所有参数 carthage help update
使用代理进行下载
如果系统环境变量中存在 http_proxy 与 https_proxy 这两个变量,那么 Carthage 会自动使用这两个环境变量对相应协议的依赖库进行下载。不过一般情况下我们要下载的依赖库都是 github 上的,其下载路径都是 https 协议,所以一般就只需要设置 https_proxy 环境变量即可。
# 先在该终端中导入 https_proxy 环境变量,注意 export 导入的环境变量只在当前会话有效 export https_proxy=http://127.0.0.1:1984 # 然后执行 carthage 下载命令 carthage update
如果嫌上面要写两次命令太麻烦的话,可以简写成:
# 设置临时环境变量 https_proxy,该变量只对跟在后面执行的那一句脚本起作用 https_proxy=http://127.0.0.1:1984 carthage update
不重复编译
默认情况下,每次执行 carthage update
,它都会重新编译依赖库,这很麻烦。
# 使用 --cache-builds 参数,可以令 Carthage 不重复编译已编译过的库 carthage update --cache-builds
切换 Xcode 版本
如果说电脑上装有多个版本的 Xcode,比如一个正式版,一个 beta 版。那么默认的命令行环境使用的是正式版的 xcodebuild。可以通过一下命令检查:
# 检查 xcodebuild 版本 xcodebuild -version # 检查命令行环境的 xcode 路径 xcode-select -p
可以通过 xcode-select 来切换默认的 xcode 路径:
# 切换默认的 xcode 到 beta 版 sudo xcode-select -s /path/to/Xcode-beta.app/Contents/Developer # 然后再执行 Carthage 操作 carthage update
但是 xcode-select 切换并不是临时的,想用回之前的版本还得手工切回去。如果只是想临时使用另一个版本的 xcode。应该使用命令前置的临时环境变量设置。
# 设置临时环境变量 DEVELOPER_DIR,并执行 carthage update 命令 DEVELOPER_DIR=/path/to/Xcode-beta.app/Contents/Developer carthage update