CarthagePods -- 一个整合 CocoaPods 和 Carthage 一起使用的工具

栏目: IOS · 发布时间: 7年前

内容简介:CarthagePods -- 一个整合 CocoaPods 和 Carthage 一起使用的工具

最近写了个工具 CarthagePods ,将 CarthageCocoaPods 配合一起使用。介绍我这个 工具 之前,先看看我们 iOS 开发最常用的两个包管理器吧。

Carthage

Carthage 有个重要的优点,它可以把依赖的库都编译成 framework ,这样一来就不需要每次编译工程,都去编译一遍依赖的第三方库。

但是也存在一些缺点,例如:

  • 使用的依赖库比较多,集成起来就比较麻烦。
  • framework@IBDesignable@IBInspectable 并不那么友好 =。= 。

CocoaPods

CocoaPods 正好可以解决 Carthage 的不足。 CocoaPods 使用起来非常方便,因为他不会把依赖库编译提前编译成 framework , 所以也不存在对 @IBDesignable@IBInspectable 不友好的问题。

当然,他不会把第三方库编译成功 framework 这也会导致工程编译起来比较慢。

取长补短

前段时间虾神在他的公众号中发布了一篇文章则提供类一个解决方案 I have a pod, I have a carthage, En…

然而操作起来还是略微麻烦=。=

这样我们就可以将使用 @IBDesignable@IBInspectable 属性的库还是使用 CocoaPods 来管理。没使用的则使用 Carthage

方案流程

虾神文章中大概的实现方案流程是这样的:

  • 先使用 Carthage 把一些依赖库编译成 framework
  • 通过 CocoaPodsframework 打包 repo
  • 最后通过 CocoaPods 把所有的依赖库都 install 了。

虾神的方案很酷,但是使用起来还是略为麻烦。所以我决定使用 Ruby 来把这些流程串联起来,只需要简单的敲个 install 就能完成这些工作 ^-^

为什么使用 Ruby ?因为我想学 Ruby ,拿来练手=。=

CarthagePods

安装方法

gem install CarthagePods

介绍

接下来简单介绍一下 CarthagePods 的一些命令吧。

CarthagePods -- 一个整合 CocoaPods 和 Carthage 一起使用的工具

init

会生成 CocoaPodsPodfile 文件, CarthageCartfile 文件, 和一个 CPodfile

大家使用的时候可以和往常使用 CocoaPodsCarthage ,一样把依赖的库配置到对应的文件中。

CPodfile 又是什么鬼?

我在使用我最常用的库 RxSwift 时,发现了一个问题。 RxSwift 使用 Carthage 编译时会生成一个 RxTestframework 。如果你工程中包含了这个 framework 会导致你打包失败。所以 CPodfile 则提供了一种方法把需要过滤的 framework 给过滤掉。

使用方法如下:

filterFramework ['RxTest.framework', 'RxBlocking.framework']

install

install 命令则是分别执行 CocoaPodsinstall 命令 和 Carthagebootstrap 命令。

考虑到保留两个工具的功能,这里尽可能保留了两个工具 install 时的参数。

CarthagePods -- 一个整合 CocoaPods 和 Carthage 一起使用的工具

熟悉 Carthage 可能会发现,少了个 --platform

我们使用 CocoaPods 是其实会在 Podfile 中直接定对应的平台,所以这里的参数,工具会直接在 Podfile 中获取。

update

这个命令就是分别执行 CocoaPodsCarthageupdate 命令。功能与 install 相似。

遗留问题

  • 两个库,一个使用 CocoaPods , 一个使用 Carthage 去 install,如果这两个库同时依赖于另外一个库。这种场景可能会产生问题。(这个问题会在后续版本解决)
  • 我开发的时候希望能使用 RxTest ,发布的时候把它过滤掉。这个目前还是比较难办的。

不过退一步想,我们遇到这些情况还是都可以几乎无痛的,把一些库切换使用 CocoaPods 做依赖管理。

最后欢迎大家尝试使用我这个工具,欢迎 Issue 。我会尽我最大努力去维护它。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

未来是湿的

未来是湿的

[美] 克莱·舍基 / 胡泳、沈满琳 / 中国人民大学出版社 / 2009-5 / 39.80

一位妇女丢掉了手机,但征召了一群志愿者将其从盗窃者手中夺回。一个旅客在乘坐飞机时领受恶劣服务,她通过自己的博客发动了一场全民运动。在伦敦地铁爆炸案和印度洋海啸中,公民们用可拍照手机提供了比摄影记者更完备的记录。世界上最大的百科全书是由管理甚少的参与者们撰写的…… 不论在何处,你都能看见人们走到一起彼此分享,共同工作,或是发起某种公共行动。一部集众人之力的百科全书、一个丢失手机的传奇,这些事情......一起来看看 《未来是湿的》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具