Xcode 构建洞察
在大项目上工作不应该需要反复重建相同的代码。Tuist Build Insights 让你可以跟踪构建分析,以便在本地和 CI 构建时间成为瓶颈之前识别趋势。
构建洞察由 tuist inspect build 命令驱动,通常添加到你的 scheme 的 post-action 中。
要开始跟踪本地构建时间,你可以将 tuist inspect build 命令添加到你的 scheme 的 post-action 中:

在这种情况下,你可以通过在相关的
project.pbxprojBuildAction中设置runPostActionsOnFailure为YES来执行它:<BuildActionbuildImplicitDependencies="YES"parallelizeBuildables="YES"runPostActionsOnFailure="YES">
对于 Mise,在 post-action 环境中激活 tuist:
# -C 确保 Mise 从项目根目录的 Mise 配置文件加载配置$HOME/.local/bin/mise x -C $SRCROOT -- tuist inspect build登录后,本地构建将被跟踪,并可从 Tuist 仪表板访问:

如果你不想在生成的方案中跟踪构建洞察,可以使用 buildInsightsDisabled 禁用它。
如果你使用带有自定义 scheme 的生成项目,请添加 post-action:
let project = Project( name: "MyProject", targets: [ // Your targets ], schemes: [ .scheme( name: "MyApp", shared: true, buildAction: .buildAction( targets: ["MyApp"], postActions: [ .executionAction( title: "Inspect Build", scriptText: """ $HOME/.local/bin/mise x -C $SRCROOT -- tuist inspect build """, target: "MyApp" ) ], runPostActionsOnFailure: true ), runAction: .runAction(configuration: "Debug") ) ])如果你没有使用 Mise,简化为:
buildAction: .buildAction( targets: ["MyApp"], postActions: [ .executionAction( title: "Inspect Build", scriptText: "tuist inspect build", target: "MyApp" ) ], runPostActionsOnFailure: true)CI 中的构建洞察
Section titled “CI 中的构建洞察”要跟踪 CI 上的构建洞察,请确保 CI 已通过
对于 Xcodebuild 驱动的 CI,你需要:
- 在调用
xcodebuild操作时使用 。tuist xcodebuild - 在你的
xcodebuild命令中添加-resultBundlePath。
没有 -resultBundlePath,将不会生成所需的 activity logs 和 result bundles,tuist inspect build 无法分析构建。
构建洞察可以包含构建期间捕获的机器级性能指标(CPU、内存、网络和磁盘使用情况)。要启用此功能,请设置一个轻量级后台守护进程来持续采样系统指标:
tuist setup insights这会在后台运行一个守护进程来采样指标。数据会自动被 tuist inspect build 拾取,并与构建报告一起上传。
自定义元数据
Section titled “自定义元数据”你可以使用环境变量将元数据附加到构建上以改进过滤。
| 变量 | 格式 | 描述 |
|---|---|---|
TUIST_BUILD_TAGS | 逗号分隔 | 一个变量中的多个标签。 |
TUIST_BUILD_VALUE_* | 单个值 | 键值对,其中后缀是键。 |
在调用构建之前在 CI 或 shell 中设置这些值:
export TUIST_BUILD_TAGS="nightly,ios-team,release-candidate"export TUIST_BUILD_VALUE_TICKET="PROJ-1234"export TUIST_BUILD_VALUE_PR_URL="https://github.com/myorg/myrepo/pull/123"