用途:指导在 macOS 上分发 Tauri v2 应用,覆盖应用包(.app)与 DMG 安装镜像(.dmg)两种格式的构建与配置。
主要能力:
- 构建:使用 Tauri CLI 生成指定包类型,如 npm run tauri build -- --bundles app、--bundles dmg,或 --bundles app,dmg 同时生成。
- 应用包结构:遵循 macOS 约定,包含 Contents/Info.plist、MacOS 可执行文件、Resources(icon.icns 等)、_CodeSignature、Frameworks、PlugIns、SharedSupport。
- DMG 配置:在 tauri.conf.json 的 bundle.macOS.dmg 中设置 background、windowSize、windowPosition、appPosition、applicationFolderPosition。
- Info.plist 定制:创建 src-tauri/Info.plist 扩展默认配置,CLI 会自动合并;可声明相机、麦克风、定位、照片库等隐私用途描述,以及文档类型(CFBundleDocumentTypes)和 URL Scheme(CFBundleURLTypes)。
- 本地化:在 src-tauri/infoplist/<lang>.lproj/InfoPlist.strings 提供多语言字符串,并在 bundle.resources 中映射。
- Entitlements:创建 src-tauri/Entitlements.plist,配置沙盒、网络、文件、硬件及 Hardened Runtime 权限,并在 bundle.macOS.entitlements 指定路径。
- 其他 macOS 配置:minimumSystemVersion、frameworks(系统框架或自定义 dylib)、files(向包内添加自定义文件)。
使用方式:编辑 tauri.conf.json 与上述 plist 文件后执行构建命令;可用 plutil -p 查看 Info.plist,codesign -d --entitlements - 验证权限,codesign -vvv --deep --strict 检查签名。构建产物位于 src-tauri/target/release/bundle/ 下的 macos/ 与 dmg/ 目录。
限制:资料指出在 CI/CD 无头环境中 DMG 图标尺寸与位置可能无法正确应用;缺少用途描述会导致应用被拒;Entitlements 需正确签名才生效。其余如具体收费、平台支持范围等暂未提供。