iOS App 上架 App Store 完整流程

5 阅读3分钟

之前一直以为上架 iOS 应用必须走 Xcode 那条路——Mac 上装好证书、Archive 打包、Organizer 上传。直到有在用 Windows 的同事问怎么发版,才发现上架流程里每个环节都有不止一种走法。这里把整条链路从头拆开,从账号准备到最终提审确认,记录每步的核心要点和常见问题。

开发者账号

上架第一步是注册 Apple Developer 账号。个人账号 99 美元一年,App Store 显示个人名称,适合独立开发者。公司账号同样 99 美元一年,可添加多名开发者协同管理,显示公司名称,需要提供邓白氏编码注册。企业账号 299 美元一年,只做内部分发,不上架。账号类型选错了后期在开发者后台修改比较麻烦,注册前先确定好展示名称。注册完成后登录 developer.apple.com 创建 App ID,填写 Bundle ID 和启用所需的服务(推送、Apple 登录等),这一步决定了应用的唯一标识。

证书和描述文件

账号就绪后配证书。两种类型要分清:Distribution 证书用于上架发布,Development 证书用于真机调试。常规流程是在 Mac 上用钥匙串申请 CSR、去 developer.apple.com 生成 .cer、再导出为 .p12。如果手边没有 Mac,可以用 Appuploader 这类工具直接在 Windows 上创建:打开证书管理点添加,选 Distribution 类型,填名称和 P12 密码,几分钟生成 .p12。证书文件可以导出给团队不同电脑共用,不用每人重新申请。

描述文件把证书、App ID 和测试设备关联在一起。上架必须用 App Store 类型的描述文件,Ad Hoc 和 Development 只适合内测分发。多个 App 可以共用同一套 Distribution 证书,但描述文件每个 App 要独立创建。

IPA 打包

纯原生项目在 Xcode 里 Product → Archive 导出 .ipa,这一步必须在 macOS 上完成。跨平台项目(Flutter、uni-app、React Native)各自有打包命令,在 Windows 或 Linux 上也能编译输出 .ipa。打包时注意 Bundle ID 要和描述文件匹配,Build 版本号(CFBundleVersion)不能跟之前提交的重复,否则上传后在构建版本列表里看不到。Info.plist 里的版本号在每次发版前确认一遍,养成习惯能省掉不少排查时间。

上传与提审

IPA 传到 App Store Connect 后需要等 5-15 分钟处理。看不到构建版本时先检查:版本号是否重复、账号是否已支付年费、上传时用的描述文件类型是否正确(App Store 类型而非 Ad Hoc)。等待期间可以填截图和元数据——5.5 英寸和 6.5 英寸两套截图基本覆盖 iPhone 设备,如果支持 iPad 再补一套。应用描述、关键词、隐私政策链接在提审前准备好。内容涉及用户登录的还要提供测试账号。以上确认无误后点提交审核,等待 Apple Review 反馈结果。——如果 App 涉及某些敏感权限(定位、相机、通讯录),提交时在备注里说明用途有助于加快审核。

几种上传工具怎么选

Xcode Organizer 和 Transporter 是官方方案,只限 macOS 环境。fastlane 适合有 Mac CI 的团队做自动化。Appuploader 在 Windows 和 Linux 上直接传 IPA,还能一体管理证书、描述文件和截图,适合跨平台项目的发版场景。