macOS 环境搭建
本教程共 48 篇 · 第 7 篇 · 更新于 2026-08-09 · 约 6 分钟阅读
本节目标:在 Mac 上装好 Xcode Command Line Tools、确认 WebView(WKWebView)随系统就位,并提前理解”代码签名”为什么是 macOS 发布环节绕不开的一步。
macOS 是 Tauri 支持最”省心”的平台:系统自带 WebView(WKWebView),苹果也把编译所需的 C 工具链打包成了轻量的命令行工具。你几乎不用去下载什么”运行时”。但 macOS 有个 Windows 和 Linux 都没有的硬性要求——发布时必须代码签名,否则用户双击你的应用会直接被系统拦下。本章前半部分装环境,后半部分把这个”签名前置”讲清楚,让你心里有数。
确认 macOS 版本
Tauri 2.x 要求 macOS Catalina(10.15)或更新版本。点左上角苹果图标 →“关于本机”即可看到。较新的 Monterey / Ventura / Sonoma / Sequoia 都完全没问题。WKWebView 从 macOS 10.10 起就内置了,所以版本达标即代表 WebView 就绪。
安装 Xcode Command Line Tools
如果你只做桌面应用(不做 iOS),不需要下载整个 Xcode(那个包有十几个 G)。只要装轻量的 Xcode Command Line Tools(命令行工具) 就够了,它包含编译器 clang、构建工具 make、版本控制 git,以及编译 Tauri 所需的系统框架(含 WebKit 的头文件)。
一行命令触发安装:
xcode-select --install
弹窗里点”安装”并同意许可协议,等进度条走完。装好后验证:
clang --version
git --version
能看到版本号即成功。
Note如果你还要把应用打包到 iOS,那必须装完整的 Xcode(从 Mac App Store 或苹果开发者网站下载),并且装完第一次要打开 Xcode 让它完成初始化设置。仅做桌面端的话,命令行工具足矣,别白等那个大下载。
WebView 在 macOS:WKWebView 随系统来
和 Windows 要单独装 WebView2 不同,macOS 的 WebView 叫 WKWebView,它是系统框架的一部分,随 macOS 一起装在机器里,不需要你手动下载任何”WebView 安装包”。
你真正要装的”命令行工具”起到的作用是:把编译时能用的 WebKit 开发头文件(SDK) 提供给你。也就是说,运行时的 WebView 系统自带,编译时的接口由 Xcode 命令行工具给。两者配合,Tauri 才能把界面画到窗口上。
Tip验证 WKWebView 是否可用,最直接的办法就是等环境齐了跑一次
tauri dev:窗口正常弹出并显示前端页面,就说明 WKWebView 链路通了。在装环境阶段,你只需确认命令行工具装好即可。
安装 Rust
macOS 上的 Rust 用默认工具链就行,不存在 Windows 那种 MSVC/GNU 的二选一烦恼(Apple Silicon 机器默认是 aarch64-apple-darwin,Intel 机器是 x86_64-apple-darwin,都自动识别)。
官方推荐用 rustup 安装:
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
如果你装了 Homebrew(mac 上常用的包管理器),也可以:
brew install rustup
rustup-init
装完重启终端,验证:
rustc --version
cargo --version
安装 Node.js 与包管理器
用 JS 前端框架时,装 Node.js LTS。两种方式:
- 去 Node.js 官网下安装包(最简单)。
- 用 Homebrew:
brew install node。
想用 nvm 管版本或启用 pnpm/yarn,可以这样:
# 用 nvm 装并切换
nvm install 20
nvm use 20
# 想用 pnpm / yarn,先开 corepack
corepack enable
验证:
node -v
npm -v
验证整套环境
把关键命令串一遍,确认都返回版本号:
clang --version # C 编译器(来自命令行工具)
git --version # 版本控制
rustc --version # Rust 编译器
cargo --version # Rust 构建工具
node -v # Node.js(用 JS 前端时)
五样齐全,macOS 开发环境就搭好了。
签名前置说明:为什么 macOS 这么”讲究”
在 Windows 和 Linux 上,你编译出的程序双击就能跑。macOS 不行——它有套叫 Gatekeeper 的安全机制:从浏览器下载的未签名应用,打开时会弹出”无法验证开发者”或”已损坏”的警告,甚至直接崩溃。所以 macOS 上代码签名(code signing)是发布的前提,而不是可选项。
这里先把关键事实讲清楚,具体的证书申请与配置留到打包分发章节细说:
- 开发阶段不用签名:本地
tauri dev跑起来的窗口不需要签名,你照常开发调试。 - 发布阶段必须签名:把
.app交给别人用时,必须用 Apple 开发者证书 签名,否则对方打不开。 - 证书从哪来:加入 Apple Developer Program(个人/企业年费 99 美元),在开发者后台创建证书。分发到 App Store 用
Apple Distribution;分发到商店之外(官网下载)用Developer ID Application。 - 本地签名怎么用:把证书装进 Mac 的”钥匙串(Keychain)“,Tauri 通过
tauri.conf.json的bundle > macOS > signingIdentity或环境变量APPLE_SIGNING_IDENTITY找到它。查看本机已装签名身份:
security find-identity -v -p codesigning
- 公证(notarization):用
Developer ID Application证书发布到店外时,还要把应用提交苹果”公证”,让苹果扫描其中是否含恶意代码。相关凭证通过APPLE_API_ISSUER、APPLE_API_KEY等环境变量提供给 Tauri。 - CI/CD 场景:在自动构建平台签名时,要把证书导出成
.p12再转成 base64 字符串,用APPLE_CERTIFICATE和APPLE_CERTIFICATE_PASSWORD两个环境变量传入。
Warning签名是 macOS 独有的”发布关卡”。现在你只需知道”以后发布得签名、得有苹果开发者账号”这件事,提前规划预算和账号;真到打包那一步,再回来对照详细流程操作,不要在这个阶段卡住开发。
小结
本章在 macOS 上安装了 Xcode Command Line Tools(提供编译所需的 C 工具链与 WebKit 头文件),确认 WKWebView 随系统内置无需单独安装,随后装好 Rust 与 Node.js,并提前说明了代码签名与 Gatekeeper 机制是 macOS 发布环节绕不开的必要前提。搭好环境、心里有数之后,下一章我们转向 Linux——那里的 WebView 依赖和前两家都不一样。