只要你的 App 有任何部分需要登录,你的 App Store 审核演示账号就必须在 Apple 第一次尝试时就能用。Apple 的 App 审核指南要求提供演示账号信息或功能完整的演示模式,并要求后端在审核期间保持在线。实际上,这意味着你需要一个专用账号:永不过期、已预置真实数据、能访问所有付费功能和基于角色的功能,并且不需要只有你才能收到的登录验证码。本文介绍如何搭建这样的账号、如何撰写配套的审核备注,以及其他开发者在登录失败时遇到的情况。
Apple 对 App Store 审核演示账号有哪些要求?
只要 App 需要登录,Apple 就要求在 App Store Connect 的“App 审核信息”中提供一组可用的演示用户名和密码,且该账号不得过期。准则 2.1(a) 还要求你的后端在审核期间保持运行。
准则 2.1(a) 的原文是:“如果你的 App 包含登录功能,请提供演示账号信息(并开启你的后端服务!)。”App Store Connect 的平台版本信息参考文档补充说明:“演示账号用于 App 审核流程,不得过期”;“其他账号的详细信息应填写在‘备注’字段中”;“备注”“最多可包含 4000 字节”。“需要登录”相关字段适用于“你的 App 需要登录才能使用”的情况。
Apple 的完整审核帮助页面说得更具体:“在审核开始前过期或被更改的凭据可能导致提交被拒绝。”如果你的 App 有多种账号类型(例如管理员和普通用户),请在“备注”中为每一种都提供凭据。如果你销售自动续期订阅,则应“提供一个订阅已过期的演示账号,以便审核完整的购买流程”。
如何为 App 审核设置演示账号?
设置演示账号的方法是:创建一个专用的生产环境账号,让所有过期和清理任务都绕开它,为它填充真实数据,并在提交前用完全相同的发布版本登录测试。
- 创建一个专用的生产环境账号,例如
appreview@yourdomain.com。不要复用可能被他人改动的个人账号或 QA 账号。 - 将它排除在所有清理任务之外:密码轮换、不活跃账号删除、试用期到期和反欺诈规则。
- 为它预置真实内容,确保没有任何空白页面。审核员会根据看到的内容判断 App 是否完整。
- 按照 Apple 的指引设置它的订阅状态。如果你销售订阅,该账号应有一个已过期的订阅,这样付费墙和购买流程才会显示出来。
- 将它设置在所有功能都可用的地区,或者在“备注”中说明各地区的差异。
- 在一台干净的设备上,用你要提交的完全相同的发布版本登录,然后逐一走查你在“备注”中提到的每项功能。
- 在审核结束之前,不要再改动密码。
如果 App 使用登录验证码、短信 OTP、魔法链接或 SSO 怎么办?
如果登录需要一次性验证码,请在提交前把审核账号专用的固定验证码写进“备注”。Apple 提醒,如果没有提供,“可能需要通过电话才能继续审核”,而这类通话“通常在三到五个工作日内完成”。
对于通过邮件发送的魔法链接或短信一次性验证码,请把审核账号配置为接受一个固定验证码或密码,并将该验证码写入“备注”。如果你使用第三方单点登录服务,App Store Connect 也要求你“同时提供该服务的演示账号登录信息”。
如果出于法律或安全原因无法提供演示账号(这在银行、医疗及其他受监管行业的 App 中很常见),准则 2.1(a) 允许你“在事先获得 Apple 批准的情况下,使用内置演示模式代替演示账号”。该演示模式必须使用演示数据展示“你的 App 的全部功能”,而不是一个删减版的导览。
应该给 App 审核提供哪些账号?
为 App 中的每种账号类型提供一个永不过期的登录账号,再加上审核员绕过验证码、付费墙和硬件要求所需的一切。下表列出了每种情况及其填写位置。
| 你的 App 有 | 提供给 App 审核 | 填写位置 |
|---|---|---|
| 一种账号类型 | 一个永不过期的演示账号 | 用户名和密码字段 |
| 管理员和成员角色 | 每个角色一个登录账号 | 主账号填在字段中,其余写在“备注” |
| 自动续期订阅 | 一个订阅已过期的账号 | 字段,再加一条说明付费墙出现位置的备注 |
| 登录验证码或魔法链接 | 审核账号可接受的固定验证码 | 备注 |
| 特定硬件或难以复现的环境 | 演示视频,或在 Apple 要求时提供硬件 | 备注 |
| 依法无法共享的数据 | 事先获得 Apple 批准的演示模式 | 在“备注”中说明如何进入 |
演示账号的 App 审核备注应该写些什么?
好的审核备注应包含 App 的核心概念、所有登录账号、登录验证码、如何进入付费墙、各项功能的位置、地区差异以及你测试过的设备。下面是一个虚构的团队习惯追踪 App 的示例,它使用邮件登录验证码和 Pro 订阅。
CONCEPT: Team habit tracker. Coaches create groups; members log daily habits.
Pro subscription (monthly/annual) unlocks progress reports.
ACCOUNTS (non-expiring, pre-filled with 30 days of data):
- Member: review-member@example.com (in the username/password fields)
- Coach: review-coach@example.com / password: [shared here]
- Deletion test: review-delete@example.com / password: [shared here]
LOGIN CODE: The app emails a 6-digit code. For these review
accounts, enter 246810.
SUBSCRIPTION: The member account's subscription has expired.
Tap Reports > Upgrade to see the full purchase flow.
WHERE TO LOOK: Groups tab (coach) > Create group. Today tab (member)
> Log habit. Settings > Account > Delete account.
REGIONS: All features work the same in every storefront.
TESTED ON: iPhone 15 (iOS 26), iPad Air (iPadOS 26).
SERVICES: Supabase (auth/data), RevenueCat (subscriptions).备注要简短、实用。对于版本更新,Apple 的帮助页面要求你“说明有哪些变化,以及审核员可以在哪里找到重要的新内容或新功能”。准则 2.3.1(a) 要求新功能“描述具体”,并警告“笼统的描述将被拒绝”。审核准则的措辞每年会修改好几次,所以提交前请先阅读我们整理的 2026 年 10 月 App 审核准则变更。
为什么演示账号会在审核中登录失败?真实案例
从公开的报告来看,演示账号登录失败通常有两个原因:审核员收不到第二重验证,或者账号在开发者那里能用、在 Apple 的设备上却报错。两个 Apple Developer Forums 帖子分别展示了这两种情况。
关键功能依赖短信双重验证。一位开发者在 Apple Developer Forums 上表示,他们的 App“不断被拒”,因为编辑个人资料需要通过短信向美国手机号发送验证码。他们解释说:“由于我们没有审核员的手机号……审核员收不到验证码。”帖子中的其他开发者分享了解决办法:一位修改了后端,“让测试账号始终收到同一个 2FA 验证码”,并把它写进了备注;另一位把一个生产环境账号绑定到虚拟手机号,并把访问权限提供给了 Apple。
凭据在任何地方都能用,唯独审核时不行。一位使用 Supabase 邮箱密码认证的 React Native 和 Expo 开发者报告了多次被拒。Apple 的截图显示邮箱填写正确,却报错“Invalid login credentials”;而在开发者自己的设备、Postman 和 Supabase 客户端上都能正常登录,也没有 MFA、速率限制或地区封锁。该帖子没有得出确认的原因。这位开发者曾考虑加入演示模式,但根据准则 2.1(a),这条路需要事先获得 Apple 批准。
这些案例的共同点是:只有审核员的实际体验才算数。写在“备注”中的固定验证码可以解决第二重验证的问题。对于“我这里能用”的问题,你需要在干净的设备上用发布版本连接生产环境登录一次,然后就别再动这个账号。
带演示账号提交前应该检查什么?
提交前,请确认演示账号能在发布版本上登录,每个角色和验证码都已写入“备注”,并且在审核期间没有任何机制会让该账号过期、轮换密码或被删除。
- 过去一小时内在干净的设备上用发布版本登录过
- 后端、认证服务商以及邮件或短信服务都在线,且没有对该账号进行速率限制
- 该账号已被排除在过期、清理和密码轮换任务之外
- 每个角色在“备注”中都有各自的登录账号
- 订阅状态能够展示购买流程
- 已准备好一个单独用于删除测试的账号
- 登录验证码或绕过方式已写入“备注”
- 联系电话采用带加号(+)的国际格式,并且会有人接听
根据 Apple 的 App 审核页面,“平均而言,超过 40% 的未解决问题与准则 2.1:App 完整性有关”,其中就包括信息不完整。演示账号无法登录是其中最容易避免的问题之一。要检查构建版本的其他方面,请使用我们的 针对 2.1 被拒的发布版本测试计划。
如果 App 审核仍然无法登录怎么办?
如果 App 审核无法登录,请修复账号,在发布版本上重新测试,更新“App 审核信息”,然后在 App Store Connect 中回复,准确说明你改了什么。“App 审核信息”“可以随时编辑”。
仔细阅读拒绝信息。原因往往只是一个简单的不一致:密码改过了、会话过期了,或者审核员所在的地区被你的后端屏蔽了。我们的如何把审核消息变成修复方案指南会带你一步步写好回复。如果你更想把审核准备工作交给别人,我们的 App Store 提交服务会为你准备审核材料,并和你一起处理被拒反馈,两个商店合计 $599(开发者账号费用另计)。
常见问题
如果我的 App 有注册功能,Apple 还需要演示账号吗?
需要,只要你的 App 需要登录才能使用其功能。准则 2.1(a) 要求只要 App 包含登录功能就提供演示账号信息,而 App Store Connect 的“需要登录”字段适用于 App 需要登录才能使用的情况。即使审核员可以自行注册,也请给他们一个已有数据的现成账号,这样他们就不必验证邮箱或手机号,也不会看到一堆空白页面。
我可以给 App 审核提供演示视频来代替演示账号吗?
对于需要登录的功能,通常不行。Apple 认可的演示账号替代方案是内置演示模式,它需要事先获得 Apple 批准,并且必须用演示数据展示 App 的全部功能。Apple 确实提到,当功能需要特定硬件或难以复现的环境时,要准备好提供演示视频或硬件。视频是演示账号的补充,而不是替代。
App Store 审核账号应该关闭双重验证吗?
要么为这一个账号关闭第二重验证,要么让它接受一个固定验证码,并把验证码写进“备注”。Apple 表示,如果需要验证码却没有提供,可能需要通过电话沟通,这通常需要三到五个工作日。获批后,请更换该验证码或关闭绕过机制,并确保它只适用于审核账号。
App 获批后可以修改演示账号的密码吗?
可以,但有风险。App 审核在之后的版本更新中会沿用同样的信息,而 Apple 表示,在审核开始前过期或被更改的凭据可能导致提交被拒绝。如果要更换密码,请先更新“App 审核信息”。App Store Connect 说明这些信息可以随时编辑,包括通过“编辑”按钮修改已获批的版本。
在 App Store Connect 中,第二个演示登录账号应该填在哪里?
主账号填在“需要登录”的用户名和密码字段中,其他账号写在“App 审核信息”下的“备注”字段中,并按角色标注(例如管理员、成员、删除测试)。App Store Connect 说明其他账号的详细信息应填写在“备注”中,该字段最多 4,000 字节,所以每条都要写得简短。
来源与延伸阅读
政策会变化。提交前请查阅官方文档。
- App 审核指南 ↗核查于 2026年10月31日
- 提供完整审核所需的信息 – App 审核帮助 ↗核查于 2026年10月31日
- 平台版本信息 – App Store Connect 帮助 ↗核查于 2026年10月31日
- App 审核 – Apple Developer ↗核查于 2026年10月31日
- 因双重验证导致 App 被拒 – Apple Developer Forums ↗核查于 2026年10月31日
- App 审核被拒:凭据有效但演示账号登录失败(Supabase Auth)– Apple Developer Forums ↗核查于 2026年10月31日


