# macOS DMG 构建指南 本指南将帮助您构建 macOS DMG 安装包,并避免用户在安装时需要在安全隐私设置中手动允许。 ## 🎯 目标 构建一个经过代码签名和公证的 DMG 安装包,用户安装时无需手动允许。 ## 📋 前提条件 ### 1. Apple Developer 账户 - 需要有效的 Apple Developer 账户($99/年) - 需要 **Developer ID Application** 证书 - 需要 **Developer ID Installer** 证书 ### 2. 获取证书 1. 登录 [Apple Developer Portal](https://developer.apple.com) 2. 进入 "Certificates, Identifiers & Profiles" 3. 创建以下证书: - **Developer ID Application** (用于应用签名) - **Developer ID Installer** (用于安装包签名) ### 3. 创建 App 专用密码 1. 登录 [Apple ID 管理页面](https://appleid.apple.com) 2. 在 "App 专用密码" 部分创建新密码 3. 记录此密码,稍后需要用到 ## 🚀 构建步骤 ### 方法一:完整签名版本(推荐) 1. **配置签名信息** ```bash # 编辑配置文件 nano macos_signing_config.sh # 修改以下信息: export APPLE_ID="your-apple-id@example.com" export APPLE_PASSWORD="your-app-specific-password" export TEAM_ID="YOUR_TEAM_ID" export SIGNING_IDENTITY="Developer ID Application: Your Name (YOUR_TEAM_ID)" ``` 2. **加载配置并构建** ```bash # 加载配置 source macos_signing_config.sh # 构建 DMG ./build_macos_dmg.sh ``` ### 方法二:简化版本(需要手动允许) 如果您没有开发者证书,可以使用简化版本: ```bash ./build_macos_simple.sh ``` **注意**:此版本需要用户在安装时手动在安全隐私设置中允许。 ## 📁 输出文件 构建完成后,DMG 文件将位于: ``` build/macos/Build/Products/Release/kaer_with_panels.dmg ``` ## 🔍 验证签名 构建完成后,您可以验证签名: ```bash # 验证应用签名 codesign --verify --verbose build/macos/Build/Products/Release/kaer_with_panels.app # 验证 DMG 签名 codesign --verify --verbose build/macos/Build/Products/Release/kaer_with_panels.dmg # 检查公证状态 spctl --assess --verbose build/macos/Build/Products/Release/kaer_with_panels.dmg ``` ## 🛠️ 故障排除 ### 1. 证书问题 ```bash # 查看可用证书 security find-identity -v -p codesigning # 如果看到 "0 valid identities found",说明没有安装证书 ``` ### 2. 公证失败 - 确保 Apple ID 和密码正确 - 确保 Team ID 正确 - 检查网络连接 ### 3. 签名失败 - 确保证书已正确安装 - 检查签名身份名称是否正确 - 确保证书未过期 ## 📚 相关文档 - [Apple 代码签名指南](https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution) - [Flutter macOS 部署指南](https://docs.flutter.dev/deployment/macos) - [DMG 创建指南](https://developer.apple.com/design/human-interface-guidelines/macos/windows-and-views/dialogs/) ## ⚠️ 重要提醒 1. **安全性**:请妥善保管您的开发者证书和密码 2. **测试**:在分发前,请在干净的 macOS 系统上测试安装 3. **更新**:定期更新证书,避免过期 4. **备份**:建议备份您的签名配置 ## 🎉 成功标志 如果构建成功,您应该看到: - ✅ 应用签名成功 - ✅ DMG 签名成功 - ✅ DMG 公证成功 - ✅ 最终验证通过 用户安装时应该能够直接运行,无需手动允许。