# 写给独立开发者的 App Store 提审前检查清单 > 在 App Store Connect 里点“提交以供审核”之前,值得逐项过一遍的清单,按实际操作顺序排列。构建、商店文案、截图与预览、App 内购买、审核备注和提交之后,每一项都写了一句为什么,并附上对应的指南或浏览器工具。 - Canonical page: https://obelisk.club/blog/app-store-submission-checklist-zh - Author: Peter Zhang - Published: 2026-10-30 - Tags: app-store, app-review, checklist, aso, indie, 中文 提交 App Store 之前,按这个顺序查四块:构建(发布签名、权限、隐私清单、用途说明、iPhone 和 iPad 上的冷启动),商店文案和截图(Apple 的长度限制、不写价格词和别人的品牌、截图是真实应用),每个内购都在同一个提交里,以及审核备注和能用的演示账号。按我们的经验,大多数拒审就是其中某一项的小疏漏:副标题里多了一个词,内购没挂到版本上,一张截图带了透明通道。 提交前在真机上手动把这样一份清单过一遍会很有帮助,顺序就是实际操作的顺序。每一项都写了原因和去哪里查。 ## 为什么是这个顺序 - **先查构建。** 换了构建,所有依赖构建的东西都得重查:权限文案、隐私清单、截图里的界面。 - **再查文案和素材。** 版本进入“等待审核”之后,App Store Connect 不允许再上传或修改截图和预览视频,图错了只能先把版本撤出审核。 - **最后查内购和备注。** 它们依赖最终的构建和最终的文案,也是最后十分钟里最容易忘的。 ## 构建 1. **用的是发布签名。** 开发签名的构建可以正常上传,提交后却可能变成 Invalid Binary(无效二进制)。用我们的 [描述文件查看器](/tools/provisioning-profile-viewer) 打开内嵌的描述文件,确认是 App Store 类型,且权限列表里没有 `get-task-allow`。 2. **每一项权限(entitlement)都说得出理由。** 一句话解释不清的就删掉。权限开得过宽,在 Mac App Store 上本身就是拒审理由,见 [Mac App Store 提审清单](/blog/mac-app-store-submission-checklist-zh)。 3. **隐私清单在包里。** Apple 文档写明,自 2024 年 5 月 1 日起,用到“需要声明原因的 API”(required reason API)却没在 `PrivacyInfo.xcprivacy` 里写明原因的应用,App Store Connect 不再接收。可以用 [隐私清单生成器](/tools/privacy-manifest-generator) 生成或检查。 4. **每个权限都有用途说明,而且是在解释。** 代码碰到的每一类受保护资源,Apple 都要求有用途说明(purpose string)。写清楚拿来做什么,不要施压(“不允许就用不了”),那在 5.1.1 下会被视为强迫授权。用 [IPA 检查器](/tools/ipa-inspector) 直接从 `.ipa` 里读出这些文案核对。 5. **出口合规键已经设置。** `Info.plist` 里没有 `ITSAppUsesNonExemptEncryption` 的话,每次上传 App Store Connect 都会让你重新回答出口合规问题。只有确实不用加密、或只用豁免加密时才设成 `NO`。 6. **调试开关不进正式包。** 测试时用来解锁付费功能、或显示占位价格的开关,必须放在 `#if DEBUG` 里。指南 2.5.19 禁止隐藏或未说明的功能,正式包里留着一个免费解锁开关,正好就是这种情况。 7. **图标来自同一张不透明的 1024 × 1024 原图。** 用 [App 图标生成器](/tools/app-icon-generator) 一次生成整套,避免某个尺寸是旧图或带透明。 8. **通用链接能打开。** 如果用了 associated domains,在审核员点链接之前,先用 [AASA 校验工具](/tools/apple-app-site-association-validator) 检查线上的 `apple-app-site-association` 文件。 9. **列出的每种语言都翻译完了。** 把字符串目录拖进 [xcstrings 翻译进度](/tools/xcstrings-translation-progress)。完成度 70% 的语言,界面中间会突然冒出英文。 10. **冷启动没问题,iPhone 和 iPad 都试过。** 在干净的设备上安装,拒绝所有权限,在没有数据的情况下走一遍首次路径。在我们的送审记录里,只支持 iPhone 的应用也是在 iPad Air 上审的;指南 2.4.1 也写了 iPhone 应用应尽可能能在 iPad 上运行。详见 [2.1:App 完整性](/blog/app-review-guideline-2-1-app-completeness-rejection-zh)。 ## 商店文案 11. **每个字段都在 Apple 的长度限制内。** 名称 30 字符,副标题 30,推广文本 170,描述 4000,更新说明 4000,关键词 100。把每个语言粘进 [App Store 元数据检查工具](/tools/app-store-metadata-checker)。 12. **关键词字段里没有浪费的词。** 名称或副标题里已有的词、已有词的复数形式,都是浪费。完整规则见 [关键词字段怎么填](/blog/app-store-keyword-field-guide-zh)。 13. **没有价格词。** 名称、副标题或截图里出现“免费”“5 折”或价格,会招来 2.3.7。见 [价格词指南](/blog/app-review-guideline-2-3-7-free-price-words-zh)。 14. **没有别人的品牌。** 副标题或关键词里写竞品名字,是 4.1(c) 或 5.2.5 的问题。见 [元数据里的品牌名](/blog/app-review-brand-names-in-metadata-4-1-5-2-5-zh)。 15. **商店名和图标下面的名字一致,** 每种语言都要一致。见 [2.3.8:名字对不上](/blog/app-review-guideline-2-3-8-app-name-mismatch-zh)。 16. **付费功能有标注。** 描述里提到需要购买的功能,要写明。见 [2.3.2:付费功能](/blog/app-review-guideline-2-3-2-paid-features-description-zh)。 17. **更新说明写的是真实改动。** 指南 2.3.12 只允许 bug 修复和小改进用笼统的说明。 18. **推广文本不是第二个关键词栏。** Apple 明确说推广文本不影响搜索排名,用它写当下的新内容就好。 19. **技术支持和隐私政策链接都能打开。** Apple 把失效链接列为最常见的审核问题之一。 ## 截图与预览 20. **截图尺寸被接受,且没有 alpha 通道。** App Store Connect 要求至少一张“带灵动岛的 iPhone(中尺寸屏)”截图,支持 iPad 的话还要 13 英寸 iPad 截图;帮助文档也写明图片不能带 alpha 通道或透明。用 [截图尺寸工具](/tools/app-store-screenshot-sizes) 检查并修正。 21. **截图拍的是真实应用,是免费用户看到的样子。** 不是启动页,也不是这个构建里没有的功能。见 [2.3.3:截图](/blog/app-review-guideline-2-3-3-screenshots-rejection-zh)。 22. **预览视频符合规格。** 15 到 30 秒,最高 30 帧每秒,内容只能是应用本身的录屏(指南 2.3.4)。用 [预览视频检查工具](/tools/app-preview-video-checker) 查一下文件。 ## App 内购买 23. **每个商品都和版本在同一个提交里。** Apple 帮助文档的原话是,版本、订阅组和所有要一起审的内购 "must all be added to the same draft submission before you click Submit for Review"(必须在点提交之前加进同一个草稿提交);每种类型的第一个内购必须随新版本一起提交。你不加,它们就不会跟着走。我们漏过一个,结果就是一封 2.1(b) 拒审。 24. **付费墙在真机和 iPad 上都能用。** 商品能加载,购买按钮有反应,恢复购买正常。付费墙卡住是 2.1(a),而审核员手里可能是一台 iPad。 25. **价格是想清楚之后定的。** 用 [佣金计算器](/tools/app-store-commission-calculator) 算一下扣掉 Apple 分成后你实际拿到多少。 ## 审核备注和演示账号 26. **备注里写清楚不好找的东西。** 付费功能在哪里;每一种后台模式拿来做什么(见 [2.5.4:后台模式](/blog/app-review-guideline-2-5-4-background-modes-rejection-zh));如果应用的网络功能看起来像 VPN,说明它实际做什么(见 [VPN 问卷](/blog/app-review-vpn-questionnaire-before-submission-zh))。备注最多 4000 字节。 27. **演示账号能登录,而且不会过期。** 应用没有登录的话,确认没有勾选“需要登录”。联系电话要按国际格式填,不带国家代码的纯数字填不进去。 ## 提交之后 28. **别去动它。** Apple 说通常至少 50% 的提交在 24 小时内审完,90% 在 48 小时内。版本发布方式(手动、过审即发布、指定日期)在提交前选好,别等过审再想。 29. **如果被拒,** 先看清条款编号再动手,也可以把拒信粘贴到 [App 审核拒信解读](/tools/app-review-rejection-decoder),看引用的每一条和它的意思。一步步的处理方法见 [被拒之后怎么办](/blog/after-app-store-rejection-what-to-do-zh)。 30. **上架之后,** 用我们的 [App Store 排名查询](/app-rankings) 看应用在各国榜单里的位置;卖订阅的话,用 [订阅指标计算器](/tools/subscription-metrics-calculator) 跟踪数据。 ## 常见问题 ### App Store 提审前要检查什么? 查四块:构建(签名、权限、隐私清单、用途说明、iPhone 和 iPad 上的冷启动),商店文案和截图是否符合 Apple 的限制和规则,每个内购是否在同一个提交里,以及审核备注和演示账号。 ### App Store 名称、副标题和关键词的字数限制是多少? 名称 30 字符,副标题 30,推广文本 170,描述 4000,更新说明 4000,关键词 100。 ### 内购要和 App 版本一起提交吗? 要。版本、订阅组和所有要一起审的内购,必须在点提交之前加进同一个草稿提交;每种类型的第一个内购必须随新版本一起提交。 ### App Store 审核一般要多久? Apple 说通常至少 50% 的提交在 24 小时内审完,90% 在 48 小时内。 ### App Store 截图可以带透明吗? 不可以。App Store Connect 帮助文档写明,截图不能带 alpha 通道或透明。 ## 一分钟自检 如果只有一分钟,就做最容易漏掉的三件事:打开版本页,确认每个内购都在这次提交里;把每个语言的副标题粘进 [元数据检查工具](/tools/app-store-metadata-checker);在 iPad 模拟器上启动一次构建。更多发版用的浏览器工具在 [工具箱页面](/toolkit)。 *以上参考了 Obelisk Club 自己的应用收到过的拒审。Apple 的措辞和 App Store Connect 都会变,提交前请以当前 App Review 指南和 App Store Connect 帮助文档为准。*