<iOS 实践经验>Carthage的一种轻量级使用

2018-01-13  本文已影响12人  貘鸣

参考链接: http://www.mokacoding.com/blog/carthage-no-build/

在日常工作中, 特别是在持续集成的时候, 用 Carthage 往往会很上火, 原因就是 Carthage 很慢, 很慢... 有多慢, 在 CI 的时候可能一个小工程编译时间能够达到半个小时, 网上有对 Carthage 在 CI 时进行缓存的解决方案, 详见这个链接, 不过这次不打算部署这些类似的缓存插件, 而是通过另外一种方式来使用 Carthage.

有人问为什么不直接使用 CocoaPods? 原因就是 Pod 出个问题, 要解决的话比 Carthage 更费劲, 并且...

下面就来看看如何操作:

  1. 使用 Carthage 时, 使用命令为 carthage update --platform iOS --no-build

  2. 建立一个 workspace, 将原有工程加入进去, 且将依赖的每一个工程也加入到这个 workspace 中.

  3. 在原有工程中直接将依赖添加到 embedded Binaries 设置.

  4. 在代码中即可使用依赖.

在测试工程中引入, 感觉效果不错, 特别是在 CI 的时候, 能减少许多的编译时间.

在持续集成时, 由于选择的是 fastlane + gitlab, 故配置也非常简单, 具体参数参考 fastlane 的官方文档, 添加一个 carthage 的执行参数 no-build 即可.

这种方式的缺点, 上图即可说明一切: 即工程结构变复杂了, 但在管理上还是没问题的. 😆

QQ20180113-111153@2x.png

这种轻量级的使用方式还需要在实践中检验, 因为它是 Carthage 的一种非标准的使用方式, 望看到的朋友能够提供宝贵意见.

上一篇 下一篇

猜你喜欢

热点阅读