Carthage安装使用
一、Carthage介绍
Carthage是GitHub上开源的、用于Cocoa开发的三方依赖管理工具。GitHub地址:https://github.com/Carthage/Carthage
通过Carthage,我们在iOS项目的开发中可以很方便的对三方依赖进行配置管理。
Carthage的原理,简而言之,是通过配置文件Cartfile指定所依赖的三方框架,Carthage通过分析配置文件的内容,通过从github、git仓库或二进制包URL获取依赖,生成为同时包含模拟器和真机目标代码的.framework库。
二、Carthage与CocoaPods比较
2.1 去中心化管理工具:Carthage
- Carthage用swift开发,支持iOS8以上系统。通过生成framework供项目依赖。
- 轻量级。
- 使用简单。
- 三方依赖灵活自由。
2.2 集中式管理工具:CocoaPods
介绍略
2.3 侵入程度
- Carthage非侵入式
- CocoaPods会修改Xcode中的workspace配置,而Carthage不会,对工程配置没有侵入性。
三、Carthage使用
3.1 安装Carthage
终端执行:brew install carthage
即可
注意:终端安装,Mac需要先安装homebrew,homebrew的安装可以见我的另一篇博文:新mac安装CocoaPods完整流程
3.2 指定依赖
通过Cartfile文件指定三方依赖
指定代码仓库,以GitHub为例
git “https://github.com/liangzhen6/LZImageBrowser” ~> “master”指定二进制包地址
binary “https://xxxxxxxxxxx/test.json”
而test.json的内容为:
{
“2.3”: “https://xxxxxxxxxxx/test.framework.zip”,
“3.0.3”: “https://xxxxxxxxxxx/test.framework.zip”
}
有2个不同版本的test.framework可供使用,可指定使用版本。
注意:Carthage要求通过URL配置二进制包,必须使用HTTPS协议。
3.3 把代码编译成framework
命令:
carthage build --no-skip-current
carthage archive YourFrameworkName
或
carthage build --archive
3.4 生成依赖包
- 运行carthage update命令生成依赖包
- 编辑完成Cartfile后,在该目录下运行:
carthage update --platform iOS
platform iOS指定iOS平台,不指定则生成匹配所有平台的依赖包。 - Carthage会根据指定的配置,在代码仓库或二进制包仓库中查找符合语义版本的最高版本,进行编译生成或下载二进制包,到子目录:Carthage/Build/iOS。同时,Carthage会生成Cartfile.resolved,用于保存经过检查和判断后所明确下来的包的版本。
3.5 集成代码
- 将Carthage/Build/iOS目录下生成的.framework文件,添加到project工程配置中即可。
- 为application添加运行脚本,裁剪framework中不必要的目标代码。由于Carthage帮我们生成的framework同时包含了模拟器和真机的目标代码,所以如果我们开发的是framework,那么只需要能够指定依赖并成功通过编译链接即可,但如果我们生成的最终目标是app,那么在打包的时候,我们需要把所依赖的framework中的不同目标代码裁剪掉。换句话说,如果我们编译的是真机版本,在打包的时候需要把所有依赖的framework中的模拟器目标代码才剪掉,否则将导致App Store审核被拒。
- Carthage提供了命令copy-frameworks,帮助我们简化这个步骤。我们只需要在app的Build Phases中,添加一个Run Script步骤,指定运行命令:
/usr/local/bin/carthage copy-frameworks
- 并且在Input Files和Output Files中指定需要处理的framework即可。具体方法参考:git地址
如何通过Carthage共享自己工程的编译规则
- Carthage只会编译.xcodeproj中指定为shared的规则(scheme)。通过Xcode中的Manage Schemes…查看是否共享了sheme:
可以通过carthage build --no-skip-current
命令验证是否正确的共享了scheme。
Carthage对于多层依赖管理的处理方式
如果一个依赖包依赖了另外一个依赖包,Carthage只需要集成顶层的依赖包到carlift文件中,Carthage会迭代解析下载所有的依赖包。
Carthage安装使用相关推荐
- Carthage 安装以及初步实用
本人从事 iOS 开发已有5年多,用 swift 开发也有一年多的时间了,此前一直利用 cocopods 管理三方框架和依赖,最近了解到 Carthage 这个工具,本着学习的态度对这工具进行了了解. ...
- brew 、carthage 安装
1.首先安装brew 安装命令如下: curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/l ...
- Appium安装(Mac版)
一.Appium简介 Appium 是一个开源的.跨平台的测试框架,可以用来测试 Native App.混合应用.移动 Web 应用(H5 应用)等,是当下互联网企业实现移动自动化测试的重要工具. 二 ...
- ios依赖管理工具:Carthage
Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢? 首先,CocoaPods默认会自动创建并更新你的应用程序和所有依赖的Xcode workspace ...
- Carthage使用
# carthage 包管理 ## 安装过程 1) 安装homebrew ``` ruby $ /usr/bin/ruby -e "$(curl -fsSL https://raw.gith ...
- Carthage的用法
可以去https://github.com/Carthage/Carthage/releases下载安装 或者 brew install carthage 安装 使用Carthage 进入到项目所在文 ...
- 使用Carthage
安装Carthage 安装Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ ...
- iOS 轻量级包管理工具Carthage了解下
Why Carthage? 我们已经熟知Cocoapods了,对于工程来说,帮我们自动创建Xcode WorkSpace和所有的依赖,对于依赖库来说,用来做本地local pod或者远程pod都非常好 ...
- Swift Xcode12.0如何使用Carthage管理iOS依赖库
前言 很多ios开发者大概对CocoaPods并不陌生,我们几乎已经习惯了在pod文件中添加一行即可将一个库导入到自己的工程中,不得不说,在ios开发的历史中CocoaPods功不可没,即便在未来它也 ...
最新文章
- python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取
- api 和 C# 里的接口的区别?
- 算法与数据结构(快速排序)
- 小车自动往返工作原理_自动气象站的工作原理介绍
- 成都女孩弃港大全额奖学金,将去北大读马克思,“我对党史和马克思很有感情”!...
- 苹果高通关系紧张背后:不只是专利问题 还有两家公司CEO的私人恩怨
- 在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法
- 电影推荐系统 python简书_分析9000部电影|一个简单的电影推荐系统
- java创建xml文件 编码_Mybatis Generator 1.4.0 通过java编码和xml文件配置
- 赤兔oracle恢复软件 收费,赤兔Oracle数据库恢复软件 v11.6
- oracle instance client 下载,安装Oracle Instance Client
- COMMENT的简单介绍,,及在Navicat中COMMENT的使用方法
- 数组之concat注意事项-不更改原数组
- 【Android】Android 中定义图片的资源文件
- 可口可乐和百事可乐查出杀虫剂成分!
- mvcmvpmvvm
- 如何让自己开发的web项目实现外网访问
- Linux常用工具大全
- Python爬虫+数据分析,2019年你想看的A股牛市都在这里了!
- 移动支付,华为也想喝点汤