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