如何验证 Carthage.resolved 中的信息?

问题描述

Cocoapods 在构建阶段嵌入了一个步骤来检查 Pods 文件夹是否与 Podfile.lock 中的版本同步。这会阻止开发人员使用 Pod 的陈旧版本,并出现以下错误

错误:沙箱与 Podfile.lock 不同步。运行 'pod 安装”或更新您的 CocoaPods 安装。

Carthage 有 Cartfile.resolved,但它如何用于检查 Carthage Builds 是新鲜还是陈旧?是否必须通过某些脚本手动强制执行?

解决方法

Afaik the Carthage 指南根本没有提到这个话题。通常你会通过编译失败被告知找不到某个框架,例如如果您切换到一个新分支,在该分支中实现了需要框架 XYZ 的新功能。然后你知道你必须运行 carthage bootstrap

我们有一个运行速度非常快的脚本,您甚至可以将其放入 git 钩子中,以便在切换分支后自动运行。迦太基部分只是可以执行以下命令:

carthage bootstrap --use-ssh --use-xcframeworks --cache-builds

它确保 carthage 是最新的并且速度很快,因为它使用缓存构建。现在运行几年了。