使用 Tauri v2 构建通用二进制文件——比您想象的更简单

发布日期:2026-05-11 10:01:07   浏览量 :0
发布日期:2026-05-11 10:01:07  
0

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

所有测试均在一台使用了8年的 MacBook Air 上运行。
所有结果均来自一位独立开发者发布的7款 Mac 应用程序。无任何赞助观点。

Intel Mac 用户依然存在。苹果芯片(Apple Silicon)是未来。通用二进制文件通过一个 DMG 安装包同时覆盖这两种架构。

以下是实际的操作流程。

为何要费心制作通用二进制文件
Rosetta 2 转译器确实存在。Intel 用户可以通过它运行苹果芯片二进制文件。那么,为何还要编译通用版本呢?

因为“此应用程序需要 Rosetta”会在安装时造成阻碍。部分用户未安装该组件。部分企业机器会阻止其安装。还有些用户根本不知道它是什么。

通用二进制文件在两种架构上都能原生运行。无需讨论 Rosetta 问题。也不会产生支持工单。

Tauri 构建命令
bash
rustup target add x86_64-apple-darwin
rustup target add aarch64-apple-darwin

npm run tauri build -- --target universal-apple-darwin
仅此而已。Tauri 会处理合并两个二进制文件的 lipo 步骤。输出的是一个单独的 .app 文件,可在 Intel 和苹果芯片上原生运行。

由于需要为两个目标进行编译,构建时间大约会翻倍。在使用一台8年旧款的 MacBook Air 时,请为此做好计划。

需要注意的陷阱
捆绑的二进制文件也需要构建为通用版本。

如果你的 Tauri 应用捆绑了外部二进制文件——如 ADB、ffmpeg 或其他任何文件——每一个都需要是通用二进制文件,或者你需要提供针对特定架构的版本并在运行时进行选择。

对于我应用中捆绑的 ADB:

rust
let arch = if cfg!(target_arch = "x86_64") {
"x86_64"
} else {
"aarch64"
};
let adb_path = resource_dir.join(format!("adb-{}", arch));
在发布前,请在两种架构上进行测试。

最常见的通用二进制文件错误是:构建顺利,在你的机器上运行正常,但由于代码中固化的假设,在另一种架构上崩溃。如果你只有一台机器,请使用 GitHub Actions 并配置两种运行器。

DMG 文件大小会增加。

二进制文件大小大约会翻倍。对于大多数 Tauri 应用来说,这仍然很小——从 5-10MB 变为 10-20MB。这并不是真正需要担忧的问题。

结论
Tauri v2 中的通用二进制文件支持实现良好。构建命令只需一行。主要的工作在于正确处理捆绑的二进制文件。

请在首次发布前完成此项工作。如果在用户已经使用仅支持 Intel 的版本后再进行 retrofitting(后期改造),会造成令人困惑的更新路径。

如果本文对你有用,点个 ❤️ 会比你想像的更有帮助——谢谢!

Hiyoko PDF Vault → https://hiyokoko.gumroad.com/l/HiyokoPDFVault
X(原推特) → @hiyoyok

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部