# iOS 自动化构建指南 本指南将帮助您使用自动化脚本构建和签名 iOS 应用,并创建 DMG 安装包。 ## 🎯 目标 创建经过签名的 iOS 应用 DMG 文件,用于分发和安装。 ## 📋 前提条件 ### 1. Apple Developer 账户 - 需要有效的 Apple Developer 账户 - 需要 **iOS Development** 证书 - 需要 **Provisioning Profile** ### 2. 获取证书和配置文件 1. 登录 [Apple Developer Portal](https://developer.apple.com) 2. 进入 "Certificates, Identifiers & Profiles" 3. 创建以下证书: - **iOS Development** (用于应用签名) 4. 创建 App ID 和 Provisioning Profile 5. 下载并安装证书和配置文件 ## 🚀 快速开始 ### 步骤 1: 配置签名信息 ```bash # 运行配置脚本 ./update_team_id.sh ``` 按照提示输入您的 Team ID,脚本会自动更新配置文件。 ### 步骤 2: 加载配置 ```bash # 加载签名配置 source ios_signing_config.sh ``` ### 步骤 3: 构建 DMG ```bash # 构建发布版本 ./build_ios_dmg.sh # 或构建调试版本 ./build_ios_dmg.sh debug ``` ## 📁 输出文件 构建完成后,文件将位于: ``` build/ios/ ├── BearVPN-1.0.0.ipa # 签名的 IPA 文件 └── BearVPN-1.0.0-iOS.dmg # DMG 安装包 ``` ## 🛠️ 可用的构建脚本 ### 1. `build_ios_dmg.sh` - 主要构建脚本 - 构建签名的 iOS 应用 - 创建 DMG 安装包 - 支持调试和发布版本 ```bash ./build_ios_dmg.sh [debug|release] ``` ### 2. `build_ios_simple.sh` - 简化构建脚本 - 构建未签名的版本 - 仅用于测试和开发 ```bash ./build_ios_simple.sh [debug|release] ``` ### 3. `build_ios_appstore.sh` - App Store 构建脚本 - 构建用于 App Store 分发的版本 - 支持自动上传到 App Store Connect ```bash ./build_ios_appstore.sh [upload|build] ``` ## 🔧 配置文件 ### `ios_signing_config.sh` 包含所有签名配置信息: ```bash # Apple Developer 账户信息 export APPLE_ID="your-apple-id@example.com" export APPLE_PASSWORD="your-app-password" export TEAM_ID="YOUR_TEAM_ID" # 应用信息 export APP_NAME="BearVPN" export BUNDLE_ID="com.bearvpn.app" export VERSION="1.0.0" export BUILD_NUMBER="1" # 签名身份 export SIGNING_IDENTITY="iPhone Developer: Your Name (YOUR_TEAM_ID)" export DISTRIBUTION_IDENTITY="iPhone Distribution: Your Name (YOUR_TEAM_ID)" ``` ## 🔍 验证构建结果 构建完成后,您可以验证结果: ```bash # 验证 IPA 文件 unzip -l build/ios/BearVPN-1.0.0.ipa # 验证 DMG 文件 hdiutil verify build/ios/BearVPN-1.0.0-iOS.dmg # 查看 DMG 内容 hdiutil mount build/ios/BearVPN-1.0.0-iOS.dmg ``` ## 🛠️ 故障排除 ### 1. 证书问题 ```bash # 查看可用证书 security find-identity -v -p codesigning # 如果看到 "0 valid identities found",说明没有安装证书 ``` ### 2. 配置文件问题 - 确保 Provisioning Profile 已正确安装 - 检查 Bundle ID 是否匹配 - 确保证书和配置文件匹配 ### 3. 构建失败 - 检查 Xcode 是否正确安装 - 确保 Flutter 环境正确配置 - 查看构建日志中的具体错误信息 ### 4. 签名失败 - 确保证书已正确安装 - 检查签名身份名称是否正确 - 确保证书未过期 ## 📚 相关文档 - [Apple 代码签名指南](https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution) - [Flutter iOS 部署指南](https://docs.flutter.dev/deployment/ios) - [Xcode 构建指南](https://developer.apple.com/documentation/xcode) ## ⚠️ 重要提醒 1. **安全性**:请妥善保管您的开发者证书和密码 2. **测试**:在分发前,请在真实的 iOS 设备上测试 3. **更新**:定期更新证书,避免过期 4. **备份**:建议备份您的签名配置 ## 🎉 成功标志 如果构建成功,您应该看到: - ✅ 应用构建成功 - ✅ 应用签名成功 - ✅ IPA 文件创建成功 - ✅ DMG 文件创建成功 - ✅ 最终验证通过 ## 📞 支持 如果遇到问题,请检查: 1. 构建日志中的错误信息 2. 证书和配置文件是否正确安装 3. 网络连接是否正常 4. Xcode 和 Flutter 版本是否兼容