参考链接: http://www.mokacoding.com/blog/carthage-no-build/
在日常工作中, 特别是在持续集成的时候, 用 Carthage 往往会很上火, 原因就是 Carthage 很慢, 很慢... 有多慢, 在 CI 的时候可能一个小工程编译时间能够达到半个小时, 网上有对 Carthage 在 CI 时进行缓存的解决方案, 详见这个链接, 不过这次不打算部署这些类似的缓存插件, 而是通过另外一种方式来使用 Carthage.
有人问为什么不直接使用 CocoaPods? 原因就是 Pod 出个问题, 要解决的话比 Carthage 更费劲, 并且...
下面就来看看如何操作:
使用 Carthage 时, 使用命令为
carthage update --platform iOS --no-build
建立一个 workspace, 将原有工程加入进去, 且将依赖的每一个工程也加入到这个 workspace 中.
在原有工程中直接将依赖添加到 embedded Binaries 设置.
在代码中即可使用依赖.
在测试工程中引入, 感觉效果不错, 特别是在 CI 的时候, 能减少许多的编译时间.
在持续集成时, 由于选择的是 fastlane + gitlab, 故配置也非常简单, 具体参数参考 fastlane 的官方文档, 添加一个 carthage 的执行参数 no-build
即可.
这种方式的缺点, 上图即可说明一切: 即工程结构变复杂了, 但在管理上还是没问题的. 😆
QQ20180113-111153@2x.png
这种轻量级的使用方式还需要在实践中检验, 因为它是 Carthage 的一种非标准的使用方式, 望看到的朋友能够提供宝贵意见.