使用 Tauri v2 构建通用二进制 — 比你想象的更容易

发布: (2026年5月11日 GMT+8 09:29)
3 分钟阅读
原文: Dev.to

Source: Dev.to

所有测试都在一台 8 年旧的 MacBook Air 上进行。虽然仍有 Intel Mac 用户,但 Apple Silicon 才是未来。通用二进制文件(universal binary)可以用单个 DMG 同时覆盖两者。

为什么要费心制作通用二进制?

因为 “此应用需要 Rosetta” 在安装时会成为阻力点。有些用户没有安装 Rosetta,有些公司机器会阻止它,还有很多用户根本不知道它是什么。

通用二进制在两种架构上都能原生运行——无需 Rosetta,也不需要提交支持工单。

Tauri 构建命令

npm run tauri build -- --target universal-apple-darwin

构建时间大约是原来的两倍,因为要为两个目标编译。在一台 8 年旧的 MacBook Air 上,请做好时间预估。

注意事项

  • 外部二进制文件 – 如果你的 Tauri 应用捆绑了外部二进制文件(例如 ADB、ffmpeg 或其他),每个文件都必须是通用二进制,或者你需要提供针对不同架构的版本并在运行时进行选择。

  • 捆绑 ADB 示例

    // placeholder for ADB‑related Rust code
  • 特定架构崩溃 – 最常见的通用二进制 bug:它在你的机器上编译运行正常,但在另一种架构上因为代码中固有的假设而崩溃。如果你只有一台机器,建议使用 GitHub Actions 并同时运行两个 runner。

  • DMG 大小 – 大约会使二进制体积翻倍。对大多数 Tauri 应用来说,这仍然很小(≈ 10‑20 MB 而不是 5‑10 MB),并不是一个真正的担忧。

结论

在首次发布之前就做好通用二进制。等用户已经在仅 Intel 架构的构建上后再去改造通用二进制,会导致更新路径混乱。

如果这篇文章对你有帮助,点个 ❤️ 会比你想象的更有帮助——谢谢!

Hiyoko PDF Vault
@hiyoyok

0 浏览
Back to Blog

相关文章

阅读更多 »

Bun 在 6 天内移植到 Rust

概览 - 测试覆盖率:在 Rust 重写版中,Bun 现有的测试套件在 Linux x64 glibc 上的通过率为 99.8%。 - 代码库基本保持不变,但 Ru...