# iOS 应用更新发布：App Store 分阶段发布指南

> 发布 iOS 更新：新建版本、上传新构建版本、填写新内容说明，再选择手动、自动或 7 天分阶段发布。

原始页面：[iOS 应用更新发布：App Store 分阶段发布指南](https://devoria.fr/zh-hans/blog/ios-app-update-phased-release)
作者：[Mehdi Azizi](https://devoria.fr/zh-hans/mehdi-azizi)
发布：2026-11-04
内容最后修订：2026-11-04


要发布 iOS 更新，你需要在 App Store Connect 里新建一个版本，版本号要比之前的高。然后给它关联一个新的构建版本（build），写好“What's New”文案，再提交给 App Review。**每个新版本都要重新经过 Apple 审核，哪怕只是一个小修复。** 提交之前，你要选好通过审核后怎么发布：手动发布、立即发布、不早于某个日期发布，或者在 7 天内分阶段发布。

分阶段发布只影响自动更新：第一天推给其中 1% 的用户，第七天推给全部。你可以暂停，累计最多 30 天，也可以一次性全部放出。本指南依据 Apple 的帮助页面，我在 2026 年 11 月 3 日重新核对过。

我用 Expo 和 EAS 发布自己 iOS 应用的更新，包括 Solys、TradaZen 和 Nolera。下文提到的案例都来自这些版本的发布。

## 发布 iOS 更新：按顺序走的步骤

[App Store Connect 关于新版本的帮助页](https://developer.apple.com/help/app-store-connect/update-your-app/create-a-new-version)给出了这个流程：

1. 在 Apps 中选择你的应用，然后点击平台旁边的 + 按钮。
2. 输入一个比上一个更高的版本号，然后点击 Create。
3. 检查元数据：线上版本的元数据会被自动复制过来。
4. 上传一个新的构建版本，构建号要递增。
5. 在 [TestFlight](https://devoria.fr/zh-hans/blog/testflight-guide-test-iphone-app) 中测试这个构建版本，把它添加到版本中，然后提交给 App Review。

开始之前有两个条件。线上版本的状态必须是 Ready for Distribution。而且你需要以下角色之一：Account Holder、Admin、App Manager 或 Marketing。

**没有回滚这回事。** Apple 在同一页面上写明了：如果某个版本出了问题，你无法退回到上一个版本，只能新建一个版本再提交。

## 版本号和构建号

版本号是用户在你的产品页上看到的数字。构建号用来标识每一次上传。**版本号和构建号的组合必须唯一**：相关规则和报错见[版本号与构建号](https://devoria.fr/zh-hans/blog/app-store-connect-build-number-version)。

我的习惯（不是 Apple 的规定）：修复 bug 时最后一位加一，比如 1.4.0 到 1.4.1。新增功能时中间一位加一，比如 1.4.1 到 1.5.0。构建号则只增不减，跨版本也一样。用 Expo 的话，版本号写在 `app.json` 里，EAS 可以在每次生产构建时自动递增构建号。具体设置见[用 EAS 发布 Expo 应用](https://devoria.fr/zh-hans/blog/eas-submit-ios-publish-expo-app-store)。

## “What's New”文案：Apple 的要求

[版本信息页面](https://developer.apple.com/help/app-store-connect/reference/app-information/platform-version-information)描述了 What's New in This Version 字段：

- **最多 4,000 个字符。**
- **首个版本没有这个字段，之后的每个版本都必填。**
- **可以为产品页的每种语言分别翻译。**

[App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#2.3.12) 第 2.3.12 条还有一项要求：清楚描述新功能和产品变化。如果只是普通的 bug 修复、安全或性能改进，写一句概括性的话就够了。**重大变化必须列出来。** 所以，如果一个版本改动了你的订阅或主界面，只写“Bug 修复和改进”是不够的。

Apple 在[关于评分和评论的页面](https://developer.apple.com/app-store/ratings-and-reviews/)上也建议：如果用户在评论里反映过的问题已经修好，就在更新说明里提一下。

下面是三个可以套用的模板，每种版本类型一个。

修复类版本：

```text
修复与稳定性改进。
- [功能]：[之前出问题的地方] 已修复。
- [页面] 加载更快了。
感谢反馈问题的各位。
```

新功能版本：

```text
新功能：[功能名称，五个字左右]。
[你现在可以做什么，一句话。]
入口：[标签页] > [按钮]。

本版本还包括：
- [可见的改进]。
- Bug 修复。
```

流程变化的版本：

```text
[页面或流程] 有变化。
- 对你的影响：[具体效果]。
- 保持不变的：[数据、设置、购买]。
有问题？[设置] > [帮助]。
```

修复模板的最后一行，只有在真的有人反馈过这个问题时才写。永远不要写构建版本里没有的新功能：第 2.3 条要求元数据与应用实际内容一致。

## 手动发布、自动发布或定时发布

[关于发布选项的帮助页](https://developer.apple.com/help/app-store-connect/manage-your-apps-availability/select-an-app-store-version-release-option)提供了三种方式：

| 选项                 | Apple 审核通过之后                                     |
| -------------------- | ------------------------------------------------------ |
| 手动                 | 状态为 Pending Developer Release，你想什么时候发布都行 |
| 自动                 | 审核一通过就发布                                       |
| 自动，但不早于某日期 | 等到你选定的日期，然后自动发布                         |

手动发布时，你打开状态为 Pending Developer Release 的版本，点击 Release This Version，然后确认。Apple 提醒说，版本可能最多需要 24 小时才会出现在 App Store 上。版本页面上会有一条提示，提供 Cancel This Release 用来取消。如果版本等待超过 30 天，Apple 会发邮件提醒你。

**手动发布的用处是自己挑时机**，比如在发布公告当天上线。Solys 2.0.0 带了新版年度订阅，2026 年 9 月底以手动发布的方式提交审核。

日常版本我就选自动发布。Nolera 1.0.2 在 2026 年 10 月 12 日通过审核，根据 iTunes 公开搜索 API 的数据，它在 Apple 邮件发出后不到一分钟就出现在 App Store 上了。这只是一次观察，时间上还是要留足余量。

## 7 天分阶段发布

[Apple 关于分阶段发布的帮助页](https://developer.apple.com/help/app-store-connect/update-your-app/release-a-version-update-in-phases)给出了具体时间表：

| 天数 | 用户比例 |
| ---- | -------- |
| 1    | 1%       |
| 2    | 2%       |
| 3    | 5%       |
| 4    | 10%      |
| 5    | 20%      |
| 6    | 50%      |
| 7    | 100%     |

更新会推送给开启了自动更新、且设备兼容的用户中的一个随机样本。他们不会被告知自己在样本里。

**分阶段发布只限制自动更新。** Apple 明确说明，任何人都可以随时从 App Store 下载新版本。所以，新安装你应用的人，或者在你的产品页上点“Update”的人，第一天就能拿到新版本。这不是在 1% 的用户身上做测试，而是对其他用户踩了一脚刹车。

开启方法：打开版本，往下滚到 Phased Release for Automatic Updates 部分，勾选“Release update over a 7-day period using phased release”，然后保存。需要 Account Holder、Admin 或 App Manager 角色。这个选项在 Pending Developer Release 状态之前都可以设置：**即使 Apple 已经审核通过，只要版本还在等你手动发布，你仍然可以开启它。**

版本通过审核后，它的 Ready for Distribution 状态旁会显示“Phased Release”。7 天结束时，该应用的 Admin 和 App Manager 会收到通知。

### 暂停、恢复和全量发布

- **暂停**：累计最多 30 天，次数不限。暂停了 10 天，后面就还剩 20 天可用。
- **恢复**：从你暂停的那一天接着推进。
- **全量发布**：版本页面右上角的 Release to All Users 按钮，会把更新推送给所有开启自动更新的设备。
- **下架**：会彻底终止分阶段发布，你的开发者计划会员资格过期时也一样。如果应用重新上架，该版本会一次性对所有人开放。

全量发布之后就什么都不能调了，[可编辑属性一览表](https://developer.apple.com/help/app-store-connect/reference/app-information/required-localizable-and-editable-properties)写得很清楚。

Nolera 1.0.2 发布时没有用分阶段发布。下面是我在这一周里会怎么用它：

| 你看到的情况             | 你的操作             | 结果                           |
| ------------------------ | -------------------- | ------------------------------ |
| 出现崩溃或让人担心的评论 | 暂停                 | 自动更新停止                   |
| 修复已经准备好           | 新版本               | 重新审核，并有自己的分阶段发布 |
| 3 到 4 天后一切正常      | Release to All Users | 所有人都收到更新               |
| 你在等 Apple 的回复      | 暂停，累计 30 天     | 从暂停那天接着推进             |

暂停期间，手动下载照常进行。**凡是涉及付费或首次启动的版本，都勾上分阶段发布**：这些地方出问题代价最大，而且你没法回滚。

## 修复很紧急：加急审核

Apple 允许你申请[加急审核](https://developer.apple.com/help/app-review/after-submitting-for-review/request-expedited-review)。它只用于真正的紧急情况：需要修复的严重 bug，或者与某个活动绑定的发布。

1. 先提交你的版本。在给审核员的 Notes 字段里描述这个 bug。
2. 填写加急审核申请表，选择你的应用和平台。
3. Apple 会视情况加快审核，但不作任何保证。

如果是为了活动，在备注里写明活动日期以及你和它的关系。常规审核时长见 [App Store 审核需要多久](https://devoria.fr/zh-hans/blog/app-store-review-time-how-long)。

## 哪些改动要重新审核，哪些不用

| 改动                           | 需要做什么                                |
| ------------------------------ | ----------------------------------------- |
| 原生代码、权限、SDK 版本       | 新构建版本、新版本、完整审核              |
| 截图、描述、关键词、新内容说明 | 一个新版本，随版本一起审核                |
| 推广文本                       | 不需要：无需重新提交即可修改              |
| 暂停、恢复、全量发布           | 不需要：这些是发布设置                    |
| iOS 27 产品页头图              | 单独在 Asset Library 中提交，或随版本提交 |
| JavaScript 修复（Expo）        | 可以用远程更新                            |

根据版本信息页面，[推广文本](https://devoria.fr/zh-hans/blog/app-store-promotional-text-170-characters)无需重新提交即可修改。用 Expo 的话，远程更新可以修改 JavaScript、文字和图片，不用经过 App Store。[Expo 文档](https://docs.expo.dev/eas-update/introduction/)给出了两条限制：原生代码、权限和 SDK 版本需要新的二进制包；而且更新必须遵守 App Store 的规则。

### 我的案例：审核员从没看到的远程修复

2026 年 9 月，Nolera 有个构建版本在排队等审核。我修好了扫描页面的一个缺陷，并在等待期间以远程更新的方式发布了这个修复。结果构建版本还是被拒了，理由正是这个已经修好的缺陷。

原因写在 [expo-updates 文档](https://docs.expo.dev/versions/latest/sdk/updates/)里：默认情况下，应用在启动时下载更新，并在下一次启动时应用。审核员安装应用、启动一次，测试的是构建版本里自带的代码。**你的新用户也一样：他们的第一次使用跑的是构建版本里的代码。**

从那以后，首页、付费墙或核心功能的任何改动，我都放进新的构建版本。远程更新只服务于已经装了应用的人。

## 随版本重置评分

每个新版本都有 Reset rating when this version is released 选项。根据 [Apple 关于重置评分的帮助页](https://developer.apple.com/help/app-store-connect/monitor-ratings-and-reviews/reset-an-app-overview-rating)，它对所有国家和地区生效，保留文字评论，并且发布后无法撤销。Apple 建议谨慎使用，因为评分数量很少的产品页可能会劝退用户。

## 提交更新前的检查清单

- 版本号更高了，构建号也递增了。
- 构建版本已在 TestFlight 中测试过，包括小屏 iPhone，如果应用支持 iPad 也要在 iPad 上测。
- 每种语言的新内容说明都写好了，重大变化已列出。
- 如果界面变了，截图展示的是当前界面。
- 给审核员的备注写清了改了什么、在哪里能找到。
- 发布方式已选好：如果要卡日期就选手动。
- 如果版本涉及付费或首次启动，已勾选分阶段发布。
- 你清楚万一要修复，是可以远程推送，还是需要新的构建版本。

## 每次更新都顺利过审

每次更新都要重新过 App Review，一次被拒就会卡住你的修复。[Review Kit](https://devoria.fr/zh-hans/kits/app-review) 收录了我的提交前检查清单、我被拒后修复的案例，以及两个 Claude Code skill：它们会检查你的项目和产品页，并在 Apple 拒审时帮你准备回复。完整流程见[在 App Store 上发布应用](https://devoria.fr/zh-hans/expertise/publish-an-app-on-the-app-store)页面。

如果你正在准备第一次上架，[来做免费诊断](https://devoria.fr/zh-hans/diagnostic)：它会帮你理顺步骤，并把我的 Apple 防拒审检查清单发给你。

## 常见问题

### App Store 分阶段发布要持续多久？

七天：第一天推给 1% 开启自动更新的用户，然后是 2%、5%、10%、20%、50%，第七天达到 100%。你可以暂停，累计最多 30 天，也可以随时用 Release to All Users 结束。

### iOS 应用更新需要重新经过 Apple 审核吗？

需要。每个新版本连同它的构建版本和元数据，都要经过 App Review。推广文本和发布设置则不用重新提交就能修改。

### App Store 上的应用可以回退到旧版本吗？

不可以。你需要新建一个带修复的版本，然后提交审核。正因为如此，分阶段发布和它的暂停功能才有用。

### 分阶段发布期间，新用户会拿到更新吗？

会，只要他们是从 App Store 下载应用。分阶段发布只控制自动更新：任何人都可以随时下载新版本。

### Apple 审核通过后还能开启分阶段发布吗？

可以，只要版本还处于 Pending Developer Release 状态，也就是选了手动发布、还没上线。版本一旦发布，这个版本就来不及了。

### 更新的版本说明应该写什么？

清楚列出新功能和重大变化：这是第 2.3.12 条的要求。如果只是普通的 bug、安全或性能修复，写一句概括性的话就够了。该字段最多 4,000 个字符，可以为每种语言分别翻译。


## 你的项目

[Review Kit](https://devoria.fr/zh-hans/kits/app-review)：我的 App Store 审核清单、我被 Apple 拒审后的修正方案、Google Play 审核清单，以及三个 Claude Code skill。¥369。

[iOS & Android Kit](https://devoria.fr/zh-hans/kits/ios)：用 Claude Code 打造你的 iPhone 和 Android 应用：我自己应用的起步代码、上架商店的完整流程，以及全部工具包。¥739。

[诊断：你离自己的 iPhone 应用还差什么](https://devoria.fr/zh-hans/diagnostic)：7 个问题，60 秒：看清真正阻碍你发布 iPhone 应用的原因，拿到你的 4 步路线和适合你的套件。
