Featured image of post iOS App Store 上架:截图、构建、审核与发布完整流程

iOS App Store 上架:截图、构建、审核与发布完整流程

iOS App 从本地构建到 App Store 上架的完整流程:Xcode Archive、Transporter 上传、App Store Connect 配置、6.5/6.7 英寸截图规范、审核信息、常见下架原因。

完整流程概览

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
本地代码
  ↓ Xcode Archive
.xcarchive 文件
  ↓ Export
.ipa 文件
  ↓ Transporter 上传
App Store Connect 后台
  ↓ 填元数据(截图、描述、关键词)
  ↓ 选构建版本
  ↓ 提交审核
  ↓ 审核通过
App Store 上架

一、Xcode Archive 打 Release 包

  1. 顶部 Scheme 选择 Any iOS Device (arm64)
  2. Product → Archive
  3. 等待打包完成(首次 510 分钟,后续 12 分钟)
  4. 弹出 Organizer 窗口

二、Export IPA

  1. Organizer 中选中刚打的 Archive
  2. 点击 Distribute App
  3. 选择分发方式:
    • App Store Connect → 上架 / TestFlight
    • Ad Hoc → 内测
    • Development → 真机调试
    • Enterprise → 企业内部分发
  4. 选择上传工具:Xcode(直接传)或 Transporter(手动传)
  5. 选择 Upload 勾选 Include bitcode for iOS content(可选)、Strip Swift symbols(建议勾选,减少包大小)
  6. 选证书(Apple Distribution)和 Profile(App Store)
  7. Export → 选择保存路径 → 得到 .ipa 文件

三、Transporter 上传

macOS 用 Transporter App(App Store 下载):

  1. 打开 Transporter
  2. 登录 Apple ID(开发者账号)
  3. .ipa 拖入窗口
  4. 点击 Deliver
  5. 等待上传完成(5~30 分钟,取决于包大小和网速)

上传后 5~30 分钟,App Store Connect 后台会出现构建版本(状态:Processing → Ready to Submit)。

四、App Store Connect 配置

登录 https://appstoreconnect.apple.com

创建 App

  1. 我的 App → “+” → 新建 App
  2. 填写:
    • 平台: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

五、构建版本

  1. App Store Connect → App → 活动 → 构建版本
  2. 选择刚上传的构建(必须先在 Xcode 选 iOS Distribution 证书导出
  3. 填写 Export Compliance Information
    • 是否使用加密(Is your app designed to use cryptography?)→ 一般选 No(除非用了非 HTTPS 加密)
    • 是否符合美国出口管制豁免(App available on the French App Store?)→ 选 Yes

六、版本发布

  1. 版本(1.0.0 / 1.0.1):三位数字,主版本.功能版本.修订版本
  2. 版权 / 联系方式
  3. 审核信息
    • 演示账号(如果 App 有登录)
    • 审核备注(说明特殊功能如何测试)
    • 联系方式(电话 + 邮箱)
  4. App 审核附件(可选):录屏、额外材料

七、提交审核

  1. 检查所有必填项(红色感叹号)
  2. 点击右上角 添加以供审核
  3. 选刚配的版本
  4. 再次点击 添加以供审核 确认提交

八、审核等待

九、审核结果

通过

  • 后台状态: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 隐私协议缺失
  • 解决后重新提交

十、上架后被下架

常见原因:开发者主动下架、违反政策、长期不更新。

重新上架方法

  1. App Store Connect → App 价格与销售范围
  2. 设置 供应情况可供销售
  3. 保存成功后 App Store 即可看到

截图要求(按苹果规范)

项目要求
格式PNG / JPEG(无 alpha)
尺寸见上表(6.5 + 6.7 必填)
数量1~10 张(每个尺寸)
预览视频03 个,H.264 MP4/MOV,1530 秒

加速审核的注意事项

  • 避开节假日(圣诞、春节、暑假前)
  • 首发版本先打完美——上架后每次更新都需重新审核
  • 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 英寸可选可选
iPad12.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(在线)、MockuphoneFigma + 设备框模板

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)是强制项

1
2
3
4
5
6
7
8
9
<key>NSPrivacyAccessedAPITypes</key>
<array>
  <dict>
    <key>NSPrivacyAccessedAPIType</key>
    <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
    <key>NSPrivacyAccessedAPITypeReasons</key>
    <array><string>CA92.1</string></array>
  </dict>
</array>

5 大必填项(用了哪些就要写):

  • UserDefaults(CA92.1)
  • FileTimestamp(C617.1)
  • SystemBootTime(35F9.1)
  • DiskSpace(85F4.1)
  • ActiveKeyboards(54BD.1)

2024-05 起 Apple 强制要求——缺了就被拒。

4. TestFlight 公开链接(关键灰度手段)

2020 推出,2024 已经成熟到人手一个

1
App Store Connect → App → TestFlight → 公开链接 → 创建链接

示例https://testflight.apple.com/join/XXXXXXXX

好处

  • 灰度期间不需要走 Apple 审核(外部测试自动通过)
  • 50~500 人灰度极方便
  • 用户点链接 → 装 TestFlight → 装 App,全程3 分钟

5. App Store Connect API(替代手工)

2024 上架流程的"重头戏"——几乎所有手动操作都 API 化了:

1
2
3
4
5
6
# 用 API Key 上传构建(不再用 Transporter GUI)
xcrun altool --upload-app \
  --type ios \
  --file MyApp.ipa \
  --apiKey ABC123XYZ \
  --apiIssuer 12345678-90ab-cdef-1234-567890abcdef

配合 CI/CD

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# GitHub Actions 示例
- name: Upload to App Store Connect
  run: |
    xcrun altool --upload-app \
      --type ios \
      --file build/MyApp.ipa \
      --apiKey ${{ secrets.ASC_KEY_ID }} \
      --apiIssuer ${{ secrets.ASC_ISSUER_ID }}
  env:
    ASC_API_KEY_FILE_BASE64: ${{ secrets.ASC_API_KEY_BASE64 }}

6. Phased Release(分阶段发布)

2018 推出,2024 仍是默认推荐

1
2
App Store Connect → 版本 → Phased Release
  ☑ Release this version over 7 days

节奏

Day比例
11%
22%
35%
410%
520%
650%
7100%

好处:上线首日如果 crash / 服务器挂,只影响 1% 用户,有时间回滚。

7. App 内购买(IAP) —— StoreKit 2

2021 推出 StoreKit 2(Swift async/await 原生 API),2024 是新项目默认

1
2
3
4
5
6
7
8
// StoreKit 1(旧)
SKPaymentQueue.default().add(payment)

SKProductsRequest().start()

// StoreKit 2(新)
let products = try await Product.products(for: ["com.example.coin_100"])
let result = try await products[0].purchase()

新项目 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 上架完整流程(更新版)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
1. 本地代码
    Xcode Archive (Cmd+Shift+B  Any iOS Device)
2. .xcarchive
    Organizer  Distribute App  App Store Connect  Upload
3. .ipa
    自动签名 + Xcode 上传 OR altool + API Key
4. App Store Connect
    填元数据(截图 6.7 英寸 / 6.9 英寸 / iPad 13 英寸)
    选构建版本
    提交审核
5. 审核通过
    Phased Release  7 
6. 上架

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 公开链接 的时代。

流程更短、更自动、更安全——上架从"几天手工活"变成"几小时自动化”。


下一步

参考资料

  • 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
使用 Hugo 构建
主题 StackJimmy 设计