跳转到内容

Bundle 洞察

随着你为应用添加更多功能,应用 bundle 的大小不断增长。虽然 bundle 大小的一些增长是不可避免的,因为你发布了更多代码和资产,但有很多方法可以最小化这种增长,例如确保你的资产不会在 bundle 中重复或剥离未使用的二进制符号。Tuist Bundle Insights 同时支持 AppleAndroid bundle,为你提供工具和洞察来帮助你的应用保持小巧,我们还会在一段时间内监控你的应用大小。

要分析 bundle,你可以使用 tuist inspect bundle 命令:

Terminal window
tuist inspect bundle App.ipa
Terminal window
tuist inspect bundle App.xcarchive
Terminal window
tuist inspect bundle App.app
Terminal window
tuist inspect bundle App.aab
Terminal window
tuist inspect bundle App.apk

tuist inspect bundle 命令会分析 bundle 并为你提供一个链接,用于查看 bundle 的详细概述,包括 bundle 内容的扫描或模块细分:

Analyzed bundle

要跟踪一段时间内的 bundle 大小,你需要在 CI 上分析 bundle。首先,你需要确保你的 CI 已通过 身份验证

然后,GitHub Actions 的示例工作流程可能如下所示:

name: Build
jobs:
build:
steps:
- # 构建你的应用
- name: Analyze bundle
run: tuist inspect bundle App.ipa
env:
TUIST_TOKEN: ${{ secrets.TUIST_TOKEN }}
name: Build
jobs:
build:
steps:
- # 构建你的应用
- name: Analyze bundle
# 建议使用 .aab 而不是 .apk 以获得更准确的大小分析
run: tuist inspect bundle App.aab
env:
TUIST_TOKEN: ${{ secrets.TUIST_TOKEN }}

设置完成后,你将能够看到你的 bundle 大小如何随时间变化:

Bundle size graph

一旦你的 Tuist 项目连接到你的 Git 平台(如 GitHub),每次你运行 tuist inspect bundle 时,Tuist 都会直接在 pull/merge request 中发布评论: GitHub app comment with inspected bundles

大小阈值允许你阻止 pull request 当 bundle 大小相对于基准分支增长超过配置的百分比时。当超过阈值时,Tuist 会在 PR 提交上创建 GitHub Check Run,阻止合并直到解决大小增长问题:

PR status check showing bundle size threshold exceeded

Check Run 显示基准大小、当前大小和百分比变化。如果增长是有意的,你可以直接点击 GitHub UI 中的 Accept 按钮接受它:

GitHub check run showing threshold violation

要配置阈值,请转到你的项目的 Settings > Bundles 选项卡:

Bundle size thresholds settings