最快修复: 找到审核员引用的那句原话,对照**提交的那个 build** 判断它是真 / 部分真 / 假,然后要么删掉这句、要么加限定词、要么重写 Review Notes 把审核员领到能证明它的那块屏幕。如果你只改了文字和截图,那就是纯 metadata 重提、不用换 build,状态通常 24 小时内回到 Waiting for Review。
提交后 build 进入 In Review,几小时后状态翻为 Rejected,Resolution Center 里附一条引用 Guideline 2.3.1(准确的元数据)、2.3.7(内购 / 定价元数据)或 5.0 / 5.2(法律与 IP)的留言。审核员通常会粘一张你 App Store 上架页的截图,圈出 AI-powered photo editor 或 guaranteed weight loss 这类字眼,然后说 “this feature was not observed in the build” 或 “the screenshots do not match the app’s actual functionality.”。
这类问题和崩溃 bug 不同,单靠重传 binary 解决不了。Apple 的指控是:上架页承诺了 X,但 binary 给出的只到 Y。要么改承诺,要么改 binary,要么向审核员指明 X 藏在哪儿。
截至 2026 年 6 月,这类拒回多数是 Metadata Rejected,意味着版本仍在审核中,你可以直接改文字 / 截图后重提,完全不用从 Xcode 上传任何东西。
常见原因
按命中率排序。2026 年 AI 类 App 大量栽在 #4。
1. 营销文案描述了”下一版才有”的功能
Roadmap 漏到了 App Store 描述里。“Coming soon: real-time collaboration” 没问题;“work together in real time” 但当前 build 里协作功能根本没开 = 被拒。
如何判断:把 App Store 描述和你的 release notes、feature flag 列表 diff 一遍。任何 featureFlag.collab = false 后面的功能都不应在文案里出现。
2. 截图来自另一个版本、付费档或纯 mock
营销在 Figma 里出了精修截图、设计师重画了图标,或截图展示了 Pro 档但免费用户进去是简化 UI。审核员下载免费 build,发现对不上,直接拒。
如何判断:Finder Quick Look 打开每张截图。在截图对应的机型尺寸下录一份实机截屏,逐像素对比。字体不一致、图标颜色不一致、tab 缺失——全是拒回的诱因。
3. 结果类承诺在 App 内没有兑现机制
“30 天减 10 斤”、“月入 $500”、“通过司法考试”。App 内若没有追踪机制、风险声明或对应课程支撑这个数字,Apple 会引 2.3.1。
如何判断:描述里每个量化承诺,必须能在 App 内找到对应那块屏幕(兑现或测量)。找不到就删。
4. “AI” / “生成”字样套在静态模板上
这是 2026 年的高发点。你把一个固定 Lottie 动画或服务端模板渲染包装成”AI 生成”。Apple 现在审得很紧——审核员会跑两次功能,要看到不一样的输出。
如何判断:同一输入跑 3 次 AI 功能。输出若是字节级一致,或是确定性地在 4-5 个 preset 之间轮换,按 Apple 的标准就不算 AI。
5. 本地化的 metadata 比主语言版多说了
英文版写 “helps you draft emails”,日文本地化写 “自动写出完美的商务邮件”。审核员一对照,就把多说的那个 locale 拒了。
如何判断:App Store Connect → App Information → 切到每个本地化版本 → 与主语言 diff。多出来的”最”、“完美”、“自动”都是风险词。
6. Reviewer notes 与上架页相互矛盾
你在 Review Notes 里写 “AI 功能只对 Plus 订阅开放”,但描述里没提门槛。Apple 会把这种不一致直接判为误导。
动手前先确认
- 改之前先把当前每个 locale 的上架页截图存档,App Store Connect 不保留历史。
- 弄清楚拒回引的具体 Guideline 号(2.3.1 / 2.3.7 / 5.2.x),每条的修复路径不同。
- 看清是 Metadata Rejected(不用换 build)还是 Binary Rejected(必须重传)。
- 确认你的 App Review 角色(Account Holder / Admin / Marketing)能改 metadata。
需要收集的信息
- 完整拒回文案 + Guideline 号 + Apple 附的截图。
- 每个 locale 当前的上架文案(description、subtitle、promotional text、what’s new、keywords)。
- 每种设备尺寸的截图集 + 预览视频。
- 已提交的 Reviewer Notes 内容。
- 审核员评估的那个 build(号 + 上传日期)。
最短修复路径
Step 1:把被引短语逐条归类
建一张三列表:
| 被引短语 | 出处(description / 截图 / App 内) | 真实性 |
|---|---|---|
| ”AI-powered photo editor” | 描述第 2 行 | 部分——只有一种特效用了 Stable Diffusion API |
| ”Generates poems in seconds” | 截图 3 | 假——这功能 v2.1 才发,当前 v2.0 |
| ”Pro features free for 30 days” | Promotional Text | 真但藏在注册流程后 |
Step 2:每个”假”或”部分”项选一个路径
- 假:删掉这句。改描述、重拍截图或砍掉功能卡片。
- 部分:加限定词重写——“AI-powered effects in our portrait mode” 代替 “AI-powered photo editor”。
- 真但藏得深:加 App 内引导路径或静态功能轮播图,让审核员在权限门之前就能看到。
Step 3:从真实 binary 重新截图
# 先清干净状态栏(9:41、满电、满 wifi、无运营商名)
xcrun simctl status_bar booted override \
--time "9:41" --batteryState charged --batteryLevel 100 \
--dataNetwork wifi --wifiMode active --wifiBars 3 --operatorName ""
# 再截运行中的模拟器
xcrun simctl io booted screenshot ~/Desktop/screen_6.9inch.png
截至 2026 年 6 月,Apple 每个机型家族只要求交**一套**最大尺寸的截图,再自动缩放到该家族的所有较小尺寸。你不再单独上传 5.5” 或 12.9” 那一套了。
- iPhone(必交):6.9” ——
1320 x 2868px(iPhone 17 Pro Max / 16 Pro Max)。旧的1290 x 2796(6.7”)和1284 x 2778(6.5”)仍可作兜底,但原生 6.9” 素材渲染效果最好。 - iPad(App 支持 iPad 时必交):13” ——
2064 x 2752px(iPad Pro M4/M5)。旧的2048 x 2732(12.9”)也接受。 - PNG 或 JPEG,RGB,无 alpha 通道,像素尺寸必须精确(不容许差 1 像素),每个家族 1-10 张。
除了裁状态栏,禁止任何 Photoshop 修饰。审核员会拿你的截图和运行中的 binary 对照,所以截出来的画面必须和冷装用户看到的一致。
Step 4:重写 Review Notes,把审核员领到现场
App Store Connect → 你的 App → Distribution 标签页 → 在侧栏选中该版本 → 翻到 App Review Information → Notes:
The AI photo enhancement feature is on the Home tab → tap any photo → tap "Enhance" button → wait 3-5 seconds. Output differs per input. Demo video: [private YouTube link].
The "30-day free trial" is shown on first launch onboarding screen 3 of 4. No payment required to start trial.
审核员单 App 平均只花两分钟,所以这种一步一点的精确笔记,常常能让重提直接从被拒变通过。
Step 5:提交 metadata 变更(必要时附 binary)
如果只改了描述 / 截图 / Review Notes,binary 仍能演示原承诺:
- App Store Connect → Distribution 标签页 → 版本 → 在 Version Information 下改各 locale 的字段(Description、Promotional Text、Keywords)和截图槽 → Save → Add for Review / Submit for Review。不用新 build,纯 metadata 重提完全跳过 Xcode。已上线 App 的改动最长可能要 24 小时才生效。
如果 binary 里砍了或加门槛限制了某功能:
- Xcode 重新 Archive → Organizer(或
xcrun altool/ Transporter)上传 → 等处理 → 把新 build 号挂到版本上 → 提交。
怎么确认已经修好
- Resolution Center 里你的回复时间戳显示在编辑之后。
- 状态从 Rejected 回到 Waiting for Review,通常在 24 小时内。
- 重新装一遍 TestFlight 或正式版,从冷装开始,被引功能在
60 seconds交互内可达。 - 再审(哪怕换了审核员)不会再被引同一条 Guideline。
如果还是没修好
- Resolution Center 里附带时间戳的截图,或一段从冷装演示功能可用的短录屏。措辞就事论事;通常还是同一个审核员看这个 thread。
- 直接在 Resolution Center thread 里申请电话沟通(比如:“Could we schedule a call so I can demonstrate this feature live?”)。通话约 15-30 分钟,备好 build 随时演示。电话审核员能当场改判 metadata 拒回。
- 如果被引字眼是行业通用(比如 LLM 包装层都叫 “AI-powered”),列出几个用同样字眼的在架竞品作判例——但前提是你 build 里这功能确实可达。
- 最后手段:去 developer.apple.com/contact/app-store 提正式上诉 → 主题选 Appeal。App Review Board 一般 5-7 个工作日回复,且基本是终审,所以无新证据的上诉几乎稳输。
预防建议
- 把 App Store 文案当 spec:每个承诺都要能让审核员在冷装后
60 seconds内可达。 - 仓库里加一个
STORE-CLAIMS.md,和CHANGELOG.md同步维护;改描述的 PR 必须同时改它。 - CI 在发版 build 后从模拟器自动截图,禁止用设计师的 Figma 图。
- 涉及 “AI” 字样,写一句话论证:用什么模型 / 什么 API / 输出哪一项在变。写不出来就别声称。
- 本地化要本地化承诺:每个 locale 的市场要在那个语言下亲跑功能,确认承诺成立。
- 提交前花十分钟找一个没看过 build 的同事,让他对着描述念一遍、说”演示给我看”。
常见问题
修误导性 metadata 拒回,必须重传 build 吗? 不必,前提是 binary 已经能做到上架页说的事。2.3.1 这类 metadata 拒回会让版本留在审核中,你改 Description、截图或 Review Notes 后重提即可,完全不用从 Xcode 上传。只有当你在 binary 里删了或限制了某功能,才需要新 build。
为什么英文版没事,偏偏日文(或德文)版被拒? 每个本地化版本都拿同一个 build 来审。如果某个本地化描述比主语言多加了夸张说法(“自动写出完美的邮件” vs “帮你起草邮件”),审核员就专门拒那个 locale。在 Distribution 标签页把每个本地化版本和主语言 diff,把多出来的承诺删掉。
2026 年还能用 “AI-powered” 这个词吗? 能,只要背后真有模型。Apple 加严了对”把静态模板标成 AI”的审查,审核员会跑两次功能、期待看到不一样的输出。如果你的功能返回字节级一致的结果,或在几个固定 preset 之间轮换,那就去掉 “AI” 字样,或如实描述实际机制。
重提之后多久状态会变? 纯 metadata 重提通常 24 小时内回到 Waiting for Review,然后重新进 In Review。已上线版本的改动(针对已通过的版本)最长可能要 24 小时才在商店页生效。
审核员说 “feature not observed” 可我这边明明能用,怎么办? 基本可以肯定是他没找到。把 Review Notes 重写成精确的点按路径(tab → 按钮 → 等待时长),附一段短录屏;如果功能藏在登录或付费墙后面,就在 Review Notes 里给一个可用的 sandbox / 测试账号。如果他还是找不到,就在 Resolution Center thread 里申请电话沟通。
相关阅读
标签: #排查 #App Store #App 审核