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


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

查看所有标签

猜你喜欢:

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

驾驭未来:抓住奇点冲击下的商机

驾驭未来:抓住奇点冲击下的商机

[日]斋藤和纪 / 南浩洁 / 中国友谊出版公司 / 2018-9 / 52.00元

2020年左右,AI(人工智能)将超越人类的智力水平。2045年,人类将迎来“奇点”——科技进步的速度达到无限大。 所有技术都在以空前的速度向前发展。同时,以往带来巨大财富的众多技术将走向“非货币化”。当下,人类正面临着被AI夺去工作的危机。许多传统行业(例如汽车制造业)将被彻底颠覆,但新的机会也在酝酿,技术的进步使得带宽成本、计算成本、存储成本等创新成本趋近于0,创业不再是资本、技术或信息......一起来看看 《驾驭未来:抓住奇点冲击下的商机》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具