Carthage 依赖管理工具的使用

快速上手

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

 

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top