Carthage - 一个简单、去集中化的Cocoa依赖管理器

项目源址: https://github.com/Carthage/Carthage

想到iOS/OS X项目的依赖管理,第一个想到的一定是大名鼎鼎的CocoaPods。下面是Carthage介绍里面的讲述两者的不同之处:

CocoaPods (默认)自动建立和更新一个Xcode workspace,用来管理你的项目和所有依赖。Carthage使用xcodebuild来编译出二进制库,剩下的集成工作完全交给开发人员。

CocoaPods使用起来方便,Carthage更加灵活并且对现有项目没有太多的侵略性。

CocoaPods希望建立一个生态系统,可以更加方便的发现和集成第三方代码库。Carthage希望变成一个去中心化的依赖管理系统,不提供中心化的项目列表,减少维护成本和单点失败的概率。不过这样给开发人员寻找项目带来不便。

CocoaPods的项目需要配置podspec文件,包含了项目和第三方库的信息。Carthage并不使用类似的配置文件,第三方库的依赖关系是通过Xcode项目来配置的。

安装Carthage

1. 直接下载安装包: 地址 , 不过文件host在amazon S3上面,我尝试过几次未果。。。 

2. 使用 Homebrew

brew update
  brew install carthage

3.进入项目创建
vim Cartfile 

Cartfile内容示例如下
  • >= 1.0 for “at least version 1.0” 1.0以上
  • ~> 1.0 for “compatible with version 1.0” 最好是1.0,
  • == 1.0 for “exactly version 1.0” 必须是1.0
  • 什么也不写,默认是最新版本
github "SnapKit/Masonry"
4.终端运行
carthage update
 
运行carthage update的结果如下

dongweideiMac:testCarthage dongwei$ carthage update

*** Cloning Masonry

*** Checking out Masonry at "v1.0.0"

*** xcodebuild output can be found in /var/folders/xy/dys150sn02q07gyq2fhn552w0000gn/T/carthage-xcodebuild.yPmhUH.log

*** Building scheme "Masonry OSX" in Masonry.xcworkspace

dongweideiMac:testCarthage dongwei$ 

文件目录如下



其中文件Cartfile、Cartfile.resolved 和 Carthage文件夹是与Carthage被创建出来的,其他的项目自身带的
 
5.打开 Carthage文件夹 进入Bulid。以mac为例,进入mac文件夹找到 Masonry .framework拖到项目中
或者在项目中选中Target -> Build Phases -> Link Library with Librarie点击+号,然后点击左下角的add Other.. 找到。framework添加就行

6.添加脚本
在 Build Phases -> +(左上角) -> New Run Script Phase
然后,点开Run Script 添加脚本
/usr/local/bin/carthage copy-frameworks
最后添加"Input Files”(以Alamofire为例)
$(SRCROOT)/Carthage/Build/iOS/Masonry.framework




添加的脚本的作用
在App Store提交通用二进制触发bug时这个脚本将运行,保证在归档时必要的bitcode相关文件被拷贝。
This script works around an App Store submission bug triggered by universal binaries and ensures that necessary bitcode-related files are copied when archiving.
 
另外需要注意Carthage 支持OS X的各个版本,但是对于iOS只支持iOS 8及其以上
only officially supports dynamic frameworks. Dynamic frameworks can be used on any version of OS X, but only on iOS 8 or later.
 
最后附上Carthage的github地址: https://github.com/Carthage/Carthage


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值