Changing the default for binary caching to arm64 only

In the latest CLI version 4.59.0, we’re updating our default binary caching strategy (i.e., when you run tuist cache) to focus exclusively on the arm64 architecture, instead of building binaries both for x86_64 (Intel) and arm64 (Silicon).

Why the change?

Most organizations and CI providers have migrated to arm64-based silicon chips. By building only for one architecture, we can reduce the time it takes to warm up the cache.

What this means:

If both your CI and your developer machines are already on arm64, you should experience faster cache warm-ups once you update. If you still need to warm the cache for both architectures, the CLI now includes a new option --architectures. To keep building for both architectures, you will need to update your tuist cache invocation to:

tuist cache --architectures arm64,x86_64
1 Like

Hey folks :wave:

A quick update on this: we had to revert the default to whatever Xcode default is (typically, both architectures for destinations like generic/platform=iOS Simulator) as otherwise, this would be a breaking change even for teams using only Apple silicon. The change of the default has been done in this PR: fix(cli): use Xcode default for which architectures are built by fortmarek · Pull Request #8007 · tuist/tuist · GitHub

We’d recommend teams to specify the tuist cache --architectures arm64 and update their build settings with either ARCHS or ONLY_ACTIVE_ARCH to improve their build times by building only for the arm64 architecture.

1 Like

It seems that two weeks after the last comment, the whole feature was reverted - fix(cli): caching issues due to incompatible architectures (#8094) · tuist/tuist@f044a4e · GitHub

So just wanted to follow up on this thread as the tuist cache –architecture flag is not available anymore.

The only way to achieve building certain architecture that I know of as of right now is defining ARCHS=... variable and setting the ONLY_ACTIVE_ARCH=false.

I think Xcode26 would solve it? By removing the intel architecture from the runtime?

what do you mean? what has changed regarding architectures between Xcode 16 and 26?

But yeah, we should certainly bring this feature back, it just had too many unforeseen consequences that we forced to revert it.