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

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

内容简介: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 。我会尽我最大努力去维护它。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

编写高质量代码

编写高质量代码

秦小波 / 机械工业出版社华章公司 / 2011-12-28 / 59.00元

在通往“Java技术殿堂”的路上,本书将为你指点迷津!内容全部由Java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面对Java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为Java程序员如何编写高质量的Java代码提出了151条极为宝贵的建议。对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还......一起来看看 《编写高质量代码》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具