All tests run on an 8-year-old MacBook Air.
All results from shipping 7 Mac apps as a solo developer. No sponsored opinion.
Intel Mac users still exist. Apple Silicon is the future. A universal binary covers both with one DMG.
Here's the actual process.
Why bother with universal binary
Rosetta 2 exists. Intel users can run Apple Silicon binaries with it. So why compile universal?
Because "this app requires Rosetta" is a friction point at install time. Some users don't have it installed. Some corporate machines block it. Some users just don't know what it is.
A universal binary runs natively on both architectures. No conversation about Rosetta. No support tickets.
The Tauri build command
bash
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin
npm run tauri build -- --target universal-apple-darwin
That's it. Tauri handles the lipo step that combines both binaries. The output is a single .app that runs natively on Intel and Apple Silicon.
Build time is roughly double since you're compiling for two targets. On an 8-year-old MacBook Air, plan for it.
The gotchas
Bundled binaries need universal builds too.
If your Tauri app bundles external binaries — ADB, ffmpeg, anything — each one needs to be a universal binary or you need architecture-specific versions with runtime selection.
For bundled ADB in my apps:
rust
let arch = if cfg!(target_arch = "x86_64") {
"x86_64"
} else {
"aarch64"
};
let adb_path = resource_dir.join(format!("adb-{}", arch));
Test on both architectures before shipping.
The most common universal binary bug: it builds fine, runs fine on your machine, crashes on the other architecture because of an assumption baked into the code. If you only have one machine, use GitHub Actions with both runners.
DMG size increases.
Roughly doubles the binary size. For most Tauri apps this is still small — 10-20MB instead of 5-10MB. Not a real concern.
The verdict
Universal binary support in Tauri v2 is well implemented. The build command is one line. The main work is handling bundled binaries correctly.
Do it before your first release. Retrofitting it after users are already on Intel-only builds creates a confusing update path.
If this was useful, a ❤️ helps more than you'd think — thanks!
Hiyoko PDF Vault → https://hiyokoko.gumroad.com/l/HiyokoPDFVault
X → @hiyoyok
United States
NORTH AMERICA
Related News
What Does "Building in Public" Actually Mean in 2026?
19h ago
The Agentic Headless Backend: What Vibe Coders Still Need After the UI Is Done
19h ago
Why I’m Still Learning to Code Even With AI
21h ago
I gave Claude a persistent memory for $0/month using Cloudflare
1d ago
NYT: 'Meta's Embrace of AI Is Making Its Employees Miserable'
1d ago