Log in
product

Track and inspect your app bundle size with Tuist

Use Tuist's new bundle analysis to minimize your app's install and download size

As your app evolves, its size inevitably increases. New features, additional assets, and expanding codebases all contribute to larger bundle sizes. But how much of that growth is truly necessary? Without proper visibility, it's easy to inadvertently bloat your app with:

  • Duplicate assets across bundles
  • Unused binary symbols
  • Unoptimized resources
  • Legacy code and dependencies

A bloated app size doesn't just consume storage—it creates real business impact. Large apps face:

  • Higher abandonment rates: When storage on a user's device is low, apps taking a lot of storage are the first ones to go.
  • Lower conversion rates: Especially when downloading an app on cellular, a large download size can put away users.
  • Exclusion of users: Large apps disproportionately affect users with storage limitations or bandwidth constraints.

For developers in markets where mobile data is expensive or connections unreliable, an unnecessarily large app can effectively lock out potential users.

Today, we're excited to announce a new Tuist feature that helps you keep your app's memory footprint small even as your app grows: Tuist Bundle Analysis.

See the feature in action 👇

Analyze your bundle

To analyze your bundle, use the new tuist inspect bundle command:

tuist inspect bundle App.ipa

This command works with .ipa, .xcarchive, or .app files. After the bundle is analyzed, you'll receive a link to a comprehensive visual breakdown of your bundle:

Analyzed bundle

The interactive visualization, file breakdown, and module breakdown help you dive deep into your bundle, making it easier to identify possible areas of improvement.

Tracking bundle size on the CI

How do you know when your bundle size is growing too large? By integrating bundle analysis into your CI pipeline, you can monitor how your app's footprint evolves with each build. You can set up a CI workflow to automate this process and analyze a bundle on each PR. We automatically collect Git and other metadata to make it easier to find specific bundles directly in the Tuist dashboard.

Once integrated, you'll have access to historical size data visualized in clear, actionable charts:

Bundle size graph

This makes it easy to spot concerning trends or celebrate optimization wins—and hold your team accountable for maintaining a reasonable app size.

Open-sourced foundations – Rosalind

We are strong believers in open source at Tuist. That's why the core of the bundle analysis is done locally using our new library, Rosalind. This library uses a standard schema with pre-defined categorization of the bundle contents. When you run tuist inspect bundle with a --json flag, you'll get the raw JSON output that comes directly from Rosalind. This is your gateway to build custom automations on top of what we offer.

We can't wait to see what you come up with Rosalind – and we're committed to maintaing and updating the Rosalind schema to help you in your efforts.

Start optimizing your bundles today

There's a lot more that we have in store for the bundle analysis, such as expanding our GitHub app to warn you directly in the PR when the bundle size significantly increases, adding more insights into how you can optimize your bundle size, and giving you the tools to make individual teams accountable for their part of the bundle size.

Bundle size isn't just about technical optimizations—it's about creating a better experience for your users and being a good platform citizen. With Tuist's bundle analysis, you now have the tools to ensure your app stays as lean as possible while still delivering all the features your users love.

Ready to get started? Run tuist inspect bundle and discover opportunities to optimize your app size!

For more details, head over to our documentation.

Supercharge your Swift app development

Get started

You might also like

Releasing Tuist 2.0
In this post, we share more details about this new major version of the project, 2.0, and present the direction we are taking as we move towards 3.0.
Tuist 0.11.0 has been released
Tuist 0.11.0 is out and it includes features like "tuist up" that help users configure their environment before working with the projects, or support for generating target schemes. This version also adds support for defining environment variables for targets, as well as some minor improvements and fixes.
Interview with Kamil Pyć - With Bazel we were able to reduce build times by 70% on clean builds
In this interview, we talk with Kamil Pyć, Senior Mobile Developer at Allegro. Allegro is one of the few companies that have undertaken replacing Xcode's build system with Bazel, and that led them to an improvement in build times of roughly 95%. In this interview, Kamil shares more about Bazel's adoption, and some other insights about their project and teams.