完整流程概览
| |
一、Xcode Archive 打 Release 包
- 顶部 Scheme 选择 Any iOS Device (arm64)
- Product → Archive
- 等待打包完成(首次 5
10 分钟,后续 12 分钟) - 弹出 Organizer 窗口
二、Export IPA
- Organizer 中选中刚打的 Archive
- 点击 Distribute App
- 选择分发方式:
- App Store Connect → 上架 / TestFlight
- Ad Hoc → 内测
- Development → 真机调试
- Enterprise → 企业内部分发
- 选择上传工具:Xcode(直接传)或 Transporter(手动传)
- 选择 Upload 勾选 Include bitcode for iOS content(可选)、Strip Swift symbols(建议勾选,减少包大小)
- 选证书(Apple Distribution)和 Profile(App Store)
- Export → 选择保存路径 → 得到
.ipa文件
三、Transporter 上传
macOS 用 Transporter App(App Store 下载):
- 打开 Transporter
- 登录 Apple ID(开发者账号)
- 把
.ipa拖入窗口 - 点击 Deliver
- 等待上传完成(5~30 分钟,取决于包大小和网速)
上传后 5~30 分钟,App Store Connect 后台会出现构建版本(状态:Processing → Ready to Submit)。
四、App Store Connect 配置
登录 https://appstoreconnect.apple.com
创建 App
- 我的 App → “+” → 新建 App
- 填写:
- 平台:iOS
- 名称(如 “我的App”)
- 主要语言
- 套装 ID:选择之前创建的 App ID
- SKU:唯一标识(如 “myapp-001”)
- 用户访问权限:完全访问
元数据
截图
必须提供 6.5 英寸和 6.7 英寸两套截图(也支持 iPad):
| 设备 | 尺寸(像素) |
|---|---|
| 6.5 英寸 | 1242 × 2688 或 2688 × 1242(横屏) |
| 6.7 英寸 | 1284 × 2778 或 2778 × 1284(横屏) |
| 5.5 英寸(可选) | 1242 × 2208 |
对应设备举例:
- 6.5 英寸:iPhone 11 Pro Max, XS Max
- 6.7 英寸:iPhone 12/13/14/15 Pro Max
可以上传 3 个 App 预览视频(15~30 秒 MP4/H.264)和最多 10 张截屏。
截图生成工具:
- Figma / Sketch + 设备模板
- 官方 Apple Design Resources 提供的 Sketch/Figma 模板
- 在线工具:Screenshot.rocks、Mockuphone.com
应用描述
- 副标题(30 字符):一句话讲清产品
- 宣传文本(170 字符):可以随时改,不用审核
- 描述(4000 字符):详细功能、亮点
- 关键词(100 字符):逗号分隔,影响搜索
类别
- 主要类别(如 工具 / 效率 / 教育)
- 次要类别(可选)
版权
格式:© 2026 YourName
五、构建版本
- App Store Connect → App → 活动 → 构建版本
- 选择刚上传的构建(必须先在 Xcode 选 iOS Distribution 证书导出)
- 填写 Export Compliance Information:
- 是否使用加密(Is your app designed to use cryptography?)→ 一般选 No(除非用了非 HTTPS 加密)
- 是否符合美国出口管制豁免(App available on the French App Store?)→ 选 Yes
六、版本发布
- 版本(1.0.0 / 1.0.1):三位数字,主版本.功能版本.修订版本
- 版权 / 联系方式
- 审核信息:
- 演示账号(如果 App 有登录)
- 审核备注(说明特殊功能如何测试)
- 联系方式(电话 + 邮箱)
- App 审核附件(可选):录屏、额外材料
七、提交审核
- 检查所有必填项(红色感叹号)
- 点击右上角 添加以供审核
- 选刚配的版本
- 再次点击 添加以供审核 确认提交
八、审核等待
- 一般 24~48 小时
- 节假日 / 寒暑假:可能 3~7 天
- 加急审核:https://developer.apple.com/contact/app-store/?topic=appeal(每年最多 2 次)
九、审核结果
通过
- 后台状态:Ready for Sale
- 选 Manually release this version 手动发布,还是 Automatically release 自动发布
- 选 Phased Release 分阶段发布(7 天内逐步放给 1%/2%/5%/10%/20%/50%/100% 用户)
被拒
- 后台会发邮件说明原因(4.0/2.1/3.1.1 等条款号)
- 常见原因:
- 4.0 抄袭 / 模仿
- 2.1 崩溃、bug
- 3.1.1 内购绕过
- 4.2 最低功能性
- 5.1.1 隐私协议缺失
- 解决后重新提交
十、上架后被下架
常见原因:开发者主动下架、违反政策、长期不更新。
重新上架方法
- App Store Connect → App 价格与销售范围
- 设置 供应情况 → 可供销售
- 保存成功后 App Store 即可看到
截图要求(按苹果规范)
| 项目 | 要求 |
|---|---|
| 格式 | PNG / JPEG(无 alpha) |
| 尺寸 | 见上表(6.5 + 6.7 必填) |
| 数量 | 1~10 张(每个尺寸) |
| 预览视频 | 0 |
加速审核的注意事项
- 避开节假日(圣诞、春节、暑假前)
- 首发版本先打完美——上架后每次更新都需重新审核
- TestFlight 内测:上架前先让 5~10 个内部测试员跑一周
- 第三方 SDK 合规:广告 SDK、统计 SDK 必须有隐私协议
十一、2024+ 视角:Xcode 15+ / iOS 17+ 上架新特性
本文 2019 年写时 Xcode 还是 11,截图规范还停留在 iPhone XS Max 6.5 英寸。5 年后(2024),Xcode 已经迭代到 15.x(iOS 17 SDK),iPhone 出到 15 Pro Max(6.7 英寸 2796×1290),上架流程也发生了重大变化。下面是当前最佳实践。
1. 截图规范的更新(2024)
| 设备 | 2019 主流 | 2024 主流 |
|---|---|---|
| 6.5 英寸 | iPhone XS Max(1242×2688) | iPhone 11 Pro Max(1242×2688)✅ 仍可 |
| 6.7 英寸 | 刚开始 | iPhone 14/15 Pro Max(1290×2796) |
| 6.9 英寸 | — | iPhone 16 Pro Max(2024 新增) |
| 6.1 英寸 | 可选 | 可选 |
| iPad | 12.9 英寸(2048×2732) | 13 英寸 M4 iPad Pro(2048×2732) |
重要变化:
- iPhone 6.5 英寸 + 6.7 英寸 → 现在只需 6.7 英寸(6.5 自动向下兼容)
- iPhone 6.9 英寸(iPhone 16 Pro Max,2024-09)强烈建议补一份——这是 App Store 展示位主推尺寸
- iPad 13 英寸(M4)也建议补——iPad 端流量不容忽视
2024 截图生成:
- 官方 Apple Design Resources 提供最新 PSD/Sketch/Figma 模板
- 工具:Screenshot.rocks(在线)、Mockuphone、Figma + 设备框模板
2. Xcode 15+ 的关键变化
2.1 默认不再支持 32 位
- Xcode 15+ 彻底移除 armv7——App Store 也不接受 32 位包
- 最低 iOS 12(之前是 iOS 9)
2.2 构建系统升级
- 默认使用
BUILD_LIBRARY_FOR_DISTRIBUTION(Swift Package 友好) ENABLE_USER_SCRIPT_SANDBOXING默认开启(脚本沙箱化)—— 部分 CI 脚本需加allowed write paths- 生成 Swift 文档(DocC)成为内置功能
2.3 模拟器变化
- iOS 17 模拟器默认 Apple Silicon(arm64 模拟器)
- 旧的 Rosetta 模拟器已被移除(Xcode 14.3+)
- iPhone 15 Pro / iPhone 15 / iPhone 15 Plus / iPhone SE (3rd) 模拟器内置
3. iOS 17 新 API(如果你的 App 用了)
上架时 Info.plist 隐私描述(NSPrivacyAccessedAPITypes)是强制项:
| |
5 大必填项(用了哪些就要写):
UserDefaults(CA92.1)FileTimestamp(C617.1)SystemBootTime(35F9.1)DiskSpace(85F4.1)ActiveKeyboards(54BD.1)
2024-05 起 Apple 强制要求——缺了就被拒。
4. TestFlight 公开链接(关键灰度手段)
2020 推出,2024 已经成熟到人手一个:
| |
示例:https://testflight.apple.com/join/XXXXXXXX
好处:
- 灰度期间不需要走 Apple 审核(外部测试自动通过)
- 50~500 人灰度极方便
- 用户点链接 → 装 TestFlight → 装 App,全程3 分钟
5. App Store Connect API(替代手工)
2024 上架流程的"重头戏"——几乎所有手动操作都 API 化了:
| |
配合 CI/CD:
| |
6. Phased Release(分阶段发布)
2018 推出,2024 仍是默认推荐:
| |
节奏:
| Day | 比例 |
|---|---|
| 1 | 1% |
| 2 | 2% |
| 3 | 5% |
| 4 | 10% |
| 5 | 20% |
| 6 | 50% |
| 7 | 100% |
好处:上线首日如果 crash / 服务器挂,只影响 1% 用户,有时间回滚。
7. App 内购买(IAP) —— StoreKit 2
2021 推出 StoreKit 2(Swift async/await 原生 API),2024 是新项目默认:
| |
新项目 2024 必用 StoreKit 2——Apple 已在 WWDC 2023 明确"StoreKit 1 进入维护期"。
8. 加速审核的现状(2024)
| 渠道 | 时效 | 限制 |
|---|---|---|
| 正常审核 | 24~48h | — |
| 加急审核 | 几小时 | 每年 2 次(和 2019 一样) |
| App Review 申诉 | 不定 | 误判可用 |
| 紧急安全修复 | 更快 | 严重安全问题 |
加急理由必须合理(“赶首发"不算理由,“修复支付漏洞"算)。
9. 常见 4.0/2.1/3.1.1 条款的应对(2024 强化版)
| 条款 | 含义 | 2024 应对 |
|---|---|---|
| 4.0 抄袭 | 模仿其他 App | 设计稿必须有原创 logo / 配色 / icon |
| 2.1 崩溃 | App 启动即崩 | 上架前必须 TestFlight 跑 7 天 |
| 3.1.1 内购绕过 | 用第三方支付绕开 Apple 30% | 数字内容/虚拟商品必须用 IAP,实物可以走第三方 |
| 4.2 最低功能性 | App 功能太简单 | 加内容、UGC、AI 助手、3 个以上核心功能 |
| 5.1.1 隐私协议 | 缺隐私协议 / 收集不声明 | 必填 + 详细披露所有 SDK |
| 2.3.10 准确元数据 | 截图与 App 实际不符 | 截图必须真实反映 App 界面(不再接受美化) |
10. App Store Small Business Program
2021 推出,2024 仍是:
- 年营收 < 100 万美元 → 苹果抽成从 30% → 15%
- 资格自动判定,无需申请
1 年后第一次续费:仍享 15%——这条 2023 改的,比之前友好。
11. 2024 上架完整流程(更新版)
| |
12. 一句话总结
2019 年是 Xcode 11 + iOS 13 + iPhone XS Max + 手工上传 Transporter 的时代; 2024 年是 Xcode 15+ + iOS 17 + iPhone 15/16 Pro Max + App Store Connect API + Phased Release + TestFlight 公开链接 的时代。
流程更短、更自动、更安全——上架从"几天手工活"变成"几小时自动化”。
下一步
- 想做 CI/CD 自动打包(GitHub Action + fastlane),看 fastlane 官方文档
- 想做版本号自动管理(语义化版本),看 Semver
- 想加内购(IAP),看 StoreKit 2 官方文档
- 想做灰度发布,看 TestFlight 公开链接
参考资料
- App Store Connect 文档:https://developer.apple.com/help/app-store-connect/
- App Store 审核指南:https://developer.apple.com/app-store/review/guidelines/
- 截图规范:https://developer.apple.com/help/app-store-connect/manage-app-information/upload-app-previews-and-screenshots
- App Store Connect API:https://developer.apple.com/documentation/appstoreconnectapi
- StoreKit 2:https://developer.apple.com/documentation/storekit/
- Transporter:https://apps.apple.com/app/transporter/id1450874784
- Xcode 15 Release Notes:https://developer.apple.com/documentation/xcode-release-notes/xcode-15-release-notes
