一、使用HomeBrew安装Carthage
避免安装老版本的Carthage
,先update。
brew update
brew install carthage
二、使用
1、项目根目录添加Cartfile文件
跟CocoaPods
添加Podfile
一样,创建并编辑Cartfile
文件
vim Cartfile
Carthage
支持Github和git源,如:
github "ReactiveCocoa/ReactiveSwift" >= 1.0
github "Alamofire/Alamofire" ~> 1.0
github "Mantle/Mantle" == 1.0
执行命令,下载依赖库并编译为Framework
。
carthage update
执行完命令,自动生成Cartfile.resolved
文件,此时的目录结构如下:
Cartfile
文件,手动添加项目需要的依赖库及相应版本,需提交git/svn。Cartfile.resolved
文件,自动生成项目具体使用的依赖库版本,需提交git/svn。Carthage
文件夹,自动保存依赖库的源码及编译的Framework
,不需要提交git/svn(在git/svn的忽略文件添加“Carthage”即可)。
2、引入Framework
以下两种方法最后的iOS
可以是iOS
、Mac
、tvOS
、watchOS
,分别对应不同平台项目。
- 方法一:配置简单,但工程中不能直观的显示所添加的依赖库。
在Target -> Build Setting -> Framework Search Path 加入Framework
的搜索路径即可。
$(SRCROOT)/Carthage/Build/iOS
- 方法二:配置稍麻烦,但所添加依赖库都在
Framework
文件夹中。官网方法。
1、在General -> Linked Frameworks and Libraries -> + -> Add Other 添加上一步编译的Framework
。
2、在Build Phases -> + -> New Run Script Phase,添加shell命令。
/usr/local/bin/carthage copy-frameworks
三、修改源码
1、github项目源fork到自己账号下
2、git clone自己fork的项目到本地目录
git clone https://XXXX
3、修改源码,git push到远程仓库
git add -A
git commit -m "XXXX"
git push origin master
4、修改cartfile相应类库的账号名称,并指定分支名称
github "https://XXXX" "master"
5、 执行carthage update
四、Carthage可用的命令
archive
Archives built frameworks into a zip that Carthage can use
bootstrap
Check out and build the project's dependencies
build
Build the project's dependencies
checkout
Check out the project's dependencies
copy-frameworks
In a Run Script build phase, copies each framework specified by a SCRIPT_INPUT_FILE environment variable into the built app bundle
fetch
Clones or fetches a Git repository ahead of time
help
Display general or command-specific help
outdated
Check for compatible updates to the project's dependencies
update
Update and rebuild the project's dependencies
version
Display the current version of Carthage