一、Carthage的安装
先简单介绍两种安装方法,都是官方给的,一个是下载 pkg 文件安装,特简单。另一个是使用 brew 安装,需要使用命令行先安装 brew。如果只是为了使用Carthage,那就使用第一种即可。
第一种:使用 pkg 文件安装
1.1 下载地址:https://github.com/Carthage/Carthage/releases
下载完成后,双击安装即可,简单方便。
1.2 检查版本,如果有版本号, 证明安装成功
carthage version
我更新这篇文章时版本为0.31.2,如果你的版本大于等于此版本,那么,Carthage已经安装完成,可以跳过第二种安装,直接看下面的使用即可。
第二种 使用homebrew安装
2.0 安装Xcode Command Line Tools
xcode-select --install
如果已经安装了,会报错,显示already installed。
2.1 先安装homebrew,两步
2.1.1 使用下面命令行安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2.1.2 更新brew,保证版本最新
brew update
显示Already up-to-date.就是最新版的 brew 了。
2.2 再安装Carthage,两步
2.2.1 使用homebrew安装Carthage
brew install carthage
2.2.2 检查版本,如果有版本号, 证明安装成功
carthage version
我更新这篇文章时版本为0.31.2,如果你的版本大于等于此版本,那么,Carthage已经安装完成,直接看下面的使用即可。
二、Carthage的使用
3.配置Carthage在项目中使用
3.1创建Carthage文件
3.1.1 方法一:命令行创建
- 在命令行中使用cd命令到你的项目所在文件夹路径
cd /Users/allen_qin/test/我的测试app
小技巧:打开teminal终端,敲入cd命令后,敲一下空格键,然后将项目文件所在的文件夹直接拽进终端,就显示路径了,此时回车即可。
- 用touch命令创建Cartfile文件,保证跟你的项目在统一文件夹下
touch Cartfile
- 因为这个文件需要提交git或者svn版本管理,而且为了便于编辑,可以拽进Xcode项目中,填写需要的git库,用版本管理工具管理
3.1.2 方法二:用Xcode创建Cartfile文件
- 直接用Xcode创建一个空白文件,起名为Cartfile,存储位置为与项目.xcodeproj同一个文件夹
- 直接在Xcode中编写库文件即可
简单说明~>的意思:更详细的可以参考这篇文章
- >= 1.0 代表 “最低 1.0版本”
- ~> 1.0 代表 “表示使用版本1.0以上但是低于2.0的最新版本,如1.5, 1.9”
- == 1.0 代表 “必须是 1.0 版本”
- 直接使用branch等分支名称:例如
github "Alamofire/Alamofire" ~> 4.0
- 一般你去git上找到git库的说明文档时,都会给出建议版本,复制粘贴即可
3.2 在项目中使用Carthage
3.2.1 下载git库并编译成framework
-
在命令行中使用cd命令到你的项目所在文件夹:(我的测试app.xcodeproj文件所在的文件夹),同步骤3.1.1。确保你用ls命令可以看到Carthage文件,如图:
- 在终端内输入更新命令下载git库文件即可,可以加上平台限制如--platform iOS
carthage update --platform iOS
-
等着Carthage下载并编译你的git库,根据你库的多少和库本身的体积大小,时间会不同,编译完成后终端会提示,如图:
提示:
如果升级了Xcode版本,例如从Xcode8升级到Xcode9,或者从beta1升级到beta2,需要重新执行一次上面的更新命令,否则会报下面的错误,如图:
-
编译完成后会在项目文件夹下自动生成Carthage文件夹和一个Cartfile.resolved文件,第三方库的源码文件和framework文件就在Carthage的Checkout文件夹下,如图:
-
注意:Cartfile和Cartfile.resolved两个文件需要提交到git或svn,如图
3.2.2 配置Xcode
最后一步了,这一步是配置一下Xcode项目文件,因为Carthage是号称无侵入性的管理框架,所以不会修改你到Xcode项目的任何内容,所以这里需要自己手动设置一下Xcode项目,以便于使用Carthage
-
添加framework,很简单,如图点+号按钮
选择Add Other
找到编译好的framework文件,点击Open
项目中就添加好了
- 配置脚本,很简单,复制好下面的命令,看图一步步来就行:
/usr/local/bin/carthage copy-frameworks
-
添加运行脚本,点击+号后选择New Run Script Phase
- 将刚才复制的命令粘贴到黑框中,覆盖掉原来的内容,并且在Input Files和Output Files中按照格式填写\
inputfiles
$(SRCROOT)/Carthage/Build/iOS/Result.framework
outputfiles
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Result.framework
简单解释填写的内容:
(BUILT_PRODUCTS_DIR):built后的输出路径
$(FRAMEWORKS_FOLDER_PATH):framework所在的路径
- 到此为止,已经完成了,在项目中使用到第三方的地方直接“import Alamofire”就行,跟引入系统框架一样。
- 以后再添加第三方库,只需重复3.2步骤即可。
其他提示(可能遇到的坑)
- 等待时间很长,如果你一次行添加了好多第三方框架,那就等吧,你的网速好海行,网速差就等好几个小时
- 路径错误,你很有可能路径设置有问题,我已经尽可能的用截图的方式给你展示了合适的路径,如果没有严格按照我的截图路径来,那么你最后填写的inputfile和output路径就需要按照你自己的来