在一次使用 Flutter 开发的跨平台项目中,我们团队要将一款教育类 App 同时上线 Android 与 iOS。团队成员清一色 Windows/Linux 用户,仅有远程使用的一台旧款 Mac mini,资源非常有限。
这篇文章将还原我们当时 iOS 上架的完整流程,并分享我们是如何组合使用不同工具,各自完成关键环节,不依赖完整 Mac 环境也能顺利上线 App Store 的经验。
阶段一:准备开发者证书和描述文件(Provisioning Profile)
Apple 规定 iOS 应用必须用签名证书和描述文件打包,否则无法提交审核。
工具分工:
- Appuploader:我们在 Windows 上使用它创建了 iOS 开发证书和发布证书。只需 Apple ID 和基本信息,自动完成 CSR、证书申请和下载,并导出 .p12 文件。
- Apple Developer 网站:用于手动创建 App ID、配置 Push 通知等服务项,以及生成描述文件。
- Keychain(远程 Mac mini):偶尔用于验证证书有效性或进行调试,但频率不高。
通过 Appuploader 导出的证书在团队不同电脑上使用没有问题,适合异地协同。
阶段二:项目构建与 IPA 生成
我们使用 Flutter 框架,目标是构建出 iOS 平台的 .ipa 文件。
工具分工:
-
Flutter CLI + Xcode(远程 Mac mini):虽然 Flutter 项目在 Windows/Linux 上开发,但最终构建 IPA 必须用 macOS 上的 Xcode。我们通过远程桌面连接 Mac mini,运行:
flutter build ios --release
然后用 Xcode 打开生成的
.xcworkspace
文件,归档打包导出.ipa
文件。 -
Xcode Archive 导出:用的是 Ad Hoc 模式,便于后续测试安装,生产环境也使用相同流程。
由于打包过程对机器性能依赖较高,我们提前准备了自动打包脚本,避免重复点击操作。
阶段三:上传 IPA 至 App Store Connect
这是 App 上架的关键一步,要求上传至 Apple 审核系统。
工具分工:
- Appuploader(Windows):我们在 Windows 上上传 IPA 文件。通过图形界面填写 App ID、选择 IPA 文件并提交。这个环节不依赖远程 Mac,也不受设备授权限制。
- Transporter(备用,Mac mini):Transporter 是 Apple 官方工具,但仅限 macOS。在我们某次遇到上传失败时,使用它做了手动备份上传。
- App Store Connect 网站:查看上传状态、版本审核进度。
整个上传过程我们常在非工作时间进行,Appuploader 不依赖 Mac,便于远程协同成员操作。
阶段四:提交 App 商店信息(截图、关键词、描述、多语言)
这部分内容繁琐但必须完成,每次版本更新都要维护。
工具分工:
- App Store Connect 网站:主要操作平台。上传截图、填写多语言版本的关键词、描述信息等。
- Appuploader 批量信息上传功能:提前将所有信息和截图整理到模板文件和本地文件,使用 Appuploader 一键导入,节省大量时间,特别是在需要支持多国家版本时。
- Notion/Google Sheets:团队用于集中维护 App 文案,翻译对接不同语言版本。
在没有 CI/CD 系统的中小项目中,这种半自动化方式对效率提升很明显。
阶段五:内测与安装测试
上线前的最后一步就是在不同设备上安装测试,确保 IPA 包无误。
工具分工:
- Appuploader 本地安装功能:可以生成二维码或通过 USB 安装,适合给测试人员快速部署。
- TestFlight(部分版本):正式渠道的内测使用,适合外部测试用户,但审核周期稍慢。
- 蒲公英(备用):在未走 App Store 前,我们会临时用它分发 Ad Hoc 包。
工具协同清单:不同任务用不同工具,各司其职
阶段 | 工具 | 操作平台 | 用途 |
---|---|---|---|
证书申请 | Appuploader | Windows/Linux/Mac | 创建开发/发布证书 |
配置服务 | Apple Dev 网站 | 浏览器 | App ID、服务配置 |
项目构建 | Flutter CLI + Xcode | macOS | 打包生成 IPA |
IPA 上传 | Appuploader | Windows/Linux | 上传至 App Store Connect |
IPA 上传(备用) | Transporter | macOS | 备用上传方案 |
元数据上传 | Appuploader | Windows/Linux | 批量上传截图和描述信息 |
安装测试 | Appuploader / TestFlight | 多平台 | 内测安装 |
结尾总结
这次项目我们以“用最少的 Mac、结合多平台工具”完成了完整的 iOS 上架流程。没有哪一款工具能包办所有环节,每一个环节都可以选择适合的工具组合。
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章