# Guideline 5.1.1 被拒：原因与修复方法

> 5.1.1 管数据收集与存储：隐私政策、权限请求、账号。附我的 3 次真实被拒。

原始页面：[Guideline 5.1.1 被拒：原因与修复方法](https://devoria.fr/zh-hans/blog/guideline-5-1-1-app-store-rejection-fix)
作者：[Mehdi Azizi](https://devoria.fr/zh-hans/mehdi-azizi)
发布：2026-10-06
内容最后修订：2026-10-06


Guideline 5.1.1 是 Apple 关于数据收集与存储的规则。我在这一类规则上被拒过三次，原因都落在下面两种偏差之一：**app 对数据的实际处理和申报的内容对不上**，或者权限请求在诱导用户点“同意”。

这篇文章只讲这一条规则：它的各个子条款、我提交前会检查什么、该改什么，外加我自己的 app 被拒的三个真实案例。如果你想看所有被拒原因的全貌，请读[Apple 为什么拒绝 app](https://devoria.fr/zh-hans/blog/apple-app-rejection-reasons-real-cases)。

## Guideline 5.1.1 是什么？

Guideline 5.1.1“Data Collection and Storage”规定了 app 一旦涉及个人数据就必须遵守的要求：完整的隐私政策、收集前取得同意、诚实的权限请求，以及可以删除的账号。它适用于所有 app，哪怕几乎不收集任何数据。

官方原文在 [App Review Guidelines](https://developer.apple.com/app-store/review/guidelines/#data-collection-and-storage) 第 5 节“Legal”的 5.1“Privacy”部分。Apple 的消息里经常会在括号中引用具体的子条款：5.1.1(i)、5.1.1(iv)、5.1.1(v)。**这个子条款就告诉你该去哪里找问题。**

## 先要了解的 5.1.1 五个子条款

| 子条款                       | Apple 的要求     | 典型被拒原因     |
| ---------------------------- | ---------------- | ---------------- |
| 5.1.1(i) Privacy Policies    | 政策完整并附链接 | 缺失或不完整     |
| 5.1.1(ii) Permission         | 收集前取得同意   | 权限说明文字含糊 |
| 5.1.1(iii) Data Minimization | 只收集有用的数据 | 要求访问全部照片 |
| 5.1.1(iv) Access             | 不诱导用户同意   | 页面诱导用户同意 |
| 5.1.1(v) Account Sign-In     | 不强制注册账号   | 强制登录         |

补充三点。隐私政策要在 App Store Connect 和 app 内都放上链接。它要说明收集哪些数据、怎么收集、用于什么目的，确认接收数据的第三方提供同等的保护，并说明如何撤回同意或要求删除数据。付费功能不能依赖用户有权拒绝的数据访问。另外，在 app 内创建的账号必须能在 app 内删除。

这条规则还有 (vi) 到 (x) 等其他子条款，针对更特殊的情况，比如受监管领域或个人数据汇编。

## 提交前我会对比的三样东西

我手上没有审核员的操作手册。下面是我每次提交前自己对比的内容，因为我被拒都是这几样之间出现了偏差：

- **线上政策写了什么**，以 App Store Connect 中申报的 URL 为准；
- **app 实际做了什么**，逐个页面看，包括每一个权限请求；
- **商店页面上申报了什么**，即 app 隐私部分（[App Privacy Details](https://developer.apple.com/app-store/app-privacy-details/)）。

我还会测试每个权限页面：关掉 app 再重新打开。这正是我找到的 Nolera 第二次被拒的原因。

## 我遇到的三次 5.1.1 被拒及真正原因

### Clic：线上的政策还是旧版本

Clic 用 AI 把一个产品变成可以直接发布的幻灯片。2026 年 9 月 16 日，Apple 以 5.1.1(i) 和 5.1.2(i) 拒绝了它。AI 同意页面确实在 app 里，问题出在 app 之外：网站上发布的隐私政策还是旧版本。新版本其实写好了，只是没上线。

**修复**：发布完整的政策，为审核员加上英文摘要，更新审核备注。我没有重新打包 build，直接重新提交了同一个版本。

**教训**：Apple 看的是线上内容，不是你代码仓库里的内容。提交当天，打开你的政策 URL，搜一下 app 用到的每个第三方服务的名字。

### Nolera：系统弹窗之前有个“允许”按钮

Nolera 是我的衣橱 app。2026 年 9 月 17 日，在 iPad Air 上审核后，Apple 引用了 5.1.1(iv)。在请求相机权限之前，app 显示了一个说明页面，上面有一个“Allow the camera”按钮。

Apple 的设计规范在这一点上写得很明确。放在系统请求之前的自定义页面[只能有一个按钮](https://developer.apple.com/design/human-interface-guidelines/privacy)，用来打开系统请求。Apple 建议使用“Continue”或“Next”这类措辞，而不是“Allow”：一个长得像系统按钮的按钮，会让用户随后不由自主地点下真正的“Allow”。

这条规则针对的是系统请求之前的页面：相机、麦克风、位置、通讯录、日历、跟踪。它留有一个例外：法律要求的同意。

**修复**：按钮改为“Continue”，app 的 8 种语言全部改了。

**教训**：为权限做铺垫的页面负责解释，不能替用户做决定。

### Nolera 第二次被拒：“相机被拒绝”页面出现在请求之前

重新提交后，Nolera 在 2026 年 9 月 22 日第二次被拒，还是 5.1.1(iv)，这次是在 11 英寸 iPad Pro 上。Apple 指出两点：在请求权限之前就引导用户去“设置”，以及有一个页面可以在没看到该请求的情况下离开。

我找到的原因：一个我没测过的场景。拍摄页面只要没获得权限，就会显示“相机被拒绝”面板，带有跳转“设置”的链接和替代方案。即使从来没请求过权限也是如此。在正常流程中，说明页面在前面，一切正常。但如果中途关掉 app 再打开，就会直接回到拍摄页面，根本没看到系统请求。

**修复**：只要 iOS 还能弹出询问，页面就自己触发系统请求。“相机被拒绝”面板只在用户真正拒绝后才出现。这个修复需要新的 build，因为审核员测试的是打包进去的代码。

**教训**：“从未请求”和“已拒绝”是两种不同的状态。测试每个权限页面时，要在关闭 app 后再回到这个页面，而不只是按流程顺序走一遍。

## 5.1.1 与 AI：5.1.2(i) 额外要求了什么

在 Clic 上，Apple 除了 5.1.1 还引用了 [5.1.2(i)](https://devoria.fr/zh-hans/blog/guideline-5-1-2-third-party-ai-att-data-sharing)。这条规则要求清楚说明个人数据在哪里与第三方共享，并且明确点名了第三方 AI（“third-party AI”）。它还要求在共享前取得明确许可。

那次被拒之后，我的做法是：让三样东西保持一致。

- app 内的同意页面，放在第一次发送数据之前，说明数据发往哪个服务、发送哪些数据。
- 线上隐私政策里写同样的信息。
- 商店页面的隐私申报里写同样的信息。

政策具体要包含哪些内容，见[app 隐私政策](https://devoria.fr/zh-hans/blog/ios-app-privacy-policy-guide)。

## 5.1.1 被拒后怎么回复 Apple

沟通在 App Store Connect 中你的 app 的 App Review 部分进行。[回复 App Review](https://developer.apple.com/help/app-store-connect/manage-submissions-to-app-review/reply-to-app-review-messages/) 的官方流程和其他规则一样。用英文写，简洁明了：问题是什么、改了什么、怎么验证。下面是我用的模板（把 build 号和修复内容换成你自己的）：

```text
Hello,

Thank you for your review.

Issue: the custom screen shown before the camera permission
request used an "Allow" button, and the "camera denied" panel
could appear before the system alert had ever been shown.

Fix in build X:
- The custom screen now has a single "Continue" button that
  opens the system alert.
- The "camera denied" panel only appears after the user has
  actually denied access in the system alert.

How to verify: delete the app, install this build, launch it
and go to the photo step. The system alert appears first.

Best regards,
```

会有两种情况：

- **原因在线上**（政策、支持页面、商店页面的申报）：改好、回复，同一个提交就可以重新送审，无需新 build。
- **原因在 app 里**（页面、按钮、请求顺序）：需要新的 build。远程更新不够，我在 [guideline 2.1](https://devoria.fr/zh-hans/blog/app-store-guideline-2-1-rejection-fix) 指南里解释过。

## 提交前的 5.1.1 检查清单

- 你的隐私政策 URL 能打开，线上页面是最新版本。
- 政策点名每一个接收数据的第三方服务，包括 AI。这是我自己的规则，比 Apple 的原文更严格。
- 商店页面的隐私申报与政策以及 build 中的 [privacy manifest](https://devoria.fr/zh-hans/blog/itms-91053-missing-api-declaration-expo) 内容一致。
- 每段权限说明文字都用一句准确的话解释用途。
- 如果 app 不需要某个权限也能运行，就不要在启动时请求它。后台模式同理：没有功能用到的模式就不要声明。
- 请求之前的自定义页面只有一个按钮“Continue”，用来打开系统请求。
- 拒绝权限的用户可以换种方式继续用，或者清楚自己失去了什么。
- “访问被拒绝”页面只在真正拒绝后出现。你已经关掉再打开 app 测试过。
- 账号不是必需时，app 不用账号也能使用。
- 在 app 内创建的账号能在 app 内删除：做法见[iOS 账号删除](https://devoria.fr/zh-hans/blog/ios-account-deletion-test-before-app-review)。
- 所有内容也在 iPad 上测试过：我在 Nolera 上的两次 5.1.1 被拒都是在 iPad 上发现的。

## 找踩过同一个坑的人帮你修复

如果你的 app 刚因 5.1.1 被拒，[Apple Review Kit](https://devoria.fr/zh-hans/kits/review-apple) 能帮你找到被引用的规则、它的要求，以及修复和回复的示例。如果你想现在就一起看看你的情况，[预约一小时视频咨询](https://devoria.fr/zh-hans/coaching)。完整流程也可以看[app 被 Apple 拒绝](https://devoria.fr/zh-hans/expertise/app-rejected-by-apple)页面。

如果你在准备第一次上架，[做一下免费诊断](https://devoria.fr/zh-hans/diagnostic)：它会帮你理清步骤顺序，并发给你我的防 Apple 拒审清单，包括隐私部分。想从一开始就为审核做好准备来[开发你的移动 app](https://devoria.fr/zh-hans)，[iOS Kit](https://devoria.fr/zh-hans/kits/ios) 的四步流程覆盖从想法到提交给 Apple 的全过程。

没有人能保证 Apple 会通过你的 app。我能做的，是帮你避开那些我已经付出一轮审核代价的 5.1.1 被拒。

## 常见问题

### “Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage”是什么意思？

这是 Apple 消息中这条规则的完整标题。它表示存在个人数据方面的问题：隐私政策不完整、权限请求被认为有诱导性，或者账号无法删除。括号里的子条款，比如 5.1.1(iv)，指明是哪一项。

### 5.1.1 被拒后需要新的 build 吗？

不一定。如果原因在线上，比如隐私政策没更新，你改好页面、回复 Apple，提交就能重新送审，无需新 build。如果原因是 app 里的页面或按钮，就需要新的 build。

### 能在权限请求前显示说明页面吗？

可以，只要确实有用，Apple 是允许的。这时页面只能有一个按钮，用来打开系统请求，措辞用“Continue”或“Next”。不能有“Allow”按钮，也不能有关闭或跳过按钮，法律要求的同意除外。

### 我的 app 用了外部 AI：需要申报什么？

Guideline 5.1.2(i) 要求说明数据在哪里与第三方共享（包括 AI），并在共享前取得明确许可。我在三个地方落实：app 内的同意页面、线上隐私政策，以及商店页面的隐私申报。在 Clic 上，Apple 把这条规则和 5.1.1 一起引用了。

### 遵守 5.1.1 必须要有账号吗？

不，恰恰相反。如果你的 app 没有真正依赖账号的功能，Apple 要求它在不登录的情况下也能使用。而如果 app 允许创建账号，也必须允许在 app 内删除账号。


## 你的项目

[Apple Review Kit](https://devoria.fr/zh-hans/kits/review-apple)：我在用的 App Store 审核检查清单、我被 Apple 拒绝后的修改、给审核员的备注，以及两个审查你 App 的 Claude Code skills。29 €。

[iOS Kit](https://devoria.fr/zh-hans/kits/ios)：用 Claude Code 做你的 iPhone App：我自己 App 的起步代码、检查其工作的 skills，以及 Apple Review Kit、App Store Screenshots Kit 和 ASO Kit。129,99 €。
