SuperAPI AI 工具集

appstore-review

测试与质量

查看项目

更新于 10-13 17:16

技能介绍

用途

appstore-review 是 3paws-ai/mobile-ai-skills 中的一个技能,用于对 iOS 应用执行 App Store 上架审核就绪审计(App Store Review Readiness Audit)。其目标是在提交前发现可能导致 App Store 警告或拒审的每一处问题。该技能按 Apple 2024 年透明度报告数据,以拒审频率排序(最高风险优先),运行两条审计线:代码/权限审计与提交元数据审计。

参考资料文件:references/appstore-review-ref.md 包含支撑各检查项的 Apple 文档、WWDC 场次与社区资源完整目录。

主要能力

轨道 1 — 代码与权限审计

1.1 应用完整性(指南 2.1,第一大拒审原因,占所有未解决拒审超过 40%):检查应用是否在干净安装下启动不崩溃、UI 中无占位文本或 Lorem Ipsum、无面向用户的未完成 TODO/FIXME/HACK 注释、所有导航路径可用、所有 URL(支持、隐私政策、条款)有效、登录/引导流程无错误、深链与通用链接正确解析、飞行模式或无网络状态下能正常工作。

1.2 隐私清单(ITMS-91053 / ITMS-91061,自 2024 年 5 月 1 日起强制,缺失声明会在人工审核前被自动拒审):检查 PrivacyInfo.xcprivacy 是否存在于应用目标;五类 Required Reason API 是否被检查(文件时间戳、系统启动时间、磁盘空间、活动键盘、UserDefaults);每个被使用的 Required Reason API 是否有匹配的声明与获批理由代码;NSPrivacyCollectedDataTypes 是否准确反映所收集数据;NSPrivacyTracking 是否正确设置;第三方 SDK 是否包含自身隐私清单;并建议通过 Xcode Organizer 生成隐私报告交叉核对。

1.3 订阅与内购合规(指南 3.1.1 / 3.1.2,订阅类应用第二高风险区域):检查付费墙 UI 的必需披露项(订阅名称与时长、全额续订价格作为最显著定价元素、免费试用时长与试用后价格、可点击的使用条款链接、可点击的隐私政策链接、可访问的“恢复购买”机制、无暗黑模式、自动续订说明文字、取消/管理说明)。StoreKit 实现方面检查是否使用 StoreKit 2、交易是否验证、购买/恢复/过期后权益是否正确更新、宽限期处理、沙盒购买是否正常。App Store Connect 配置方面检查内购产品状态、内购审核截图规格(如 6.9 英寸 = 1320×2868,而非 1024×1024)、每个内购的审核备注、订阅组配置、所有必需地区的定价。

1.4 隐私与数据处理(指南 5.1):检查隐私政策 URL 是否在 App Store Connect 设置且可访问、是否可从应用内访问、App 隐私标签是否与实际数据收集匹配、使用 IDFA 时是否实现 ATT 提示、使用第三方 AI 时是否有明确的数据共享同意(指南 5.1.2(i),2025 年 11 月执行)、有账户创建时是否提供账户删除选项。还包含预许可引导文案检查(指南 5.1.1(iv)),要求系统权限提示前的按钮使用中性措辞。

1.4b 面部与生物识别数据(指南 2.1 / 5.1):若应用使用 Vision/人脸检测 API(即使纯设备端且零收集),需准备 Apple 标准六问问卷:收集哪些面部数据及用途、是否与第三方共享及对象、保留时长、如何/是否删除、存储位置(设备端还是服务器)、隐私政策中披露位置。隐私政策需有明确可引用的“面部数据”章节,如实列举二进制中每一处人脸检测调用点,不使用人脸指纹/人脸识别 API 或记录合规性,第三方 AI 处理器的保留声明需与其文档一致,并预先准备六问答案(App Store Connect 回复框上限 4000 字符)。

1.5 App Transport Security:检查是否未设置 NSAllowsArbitraryLoads = YES、所有网络连接是否使用 HTTPS / TLS 1.2+、域例外是否有记录的理由。

1.6 导出合规:检查 Info.plist 中 ITSAppUsesNonExemptEncryption 是否设置;仅标准 HTTPS 时为 NO,自定义加密时为 YES 并有 CCATS/ERN 文档。

1.7 权限与能力:检查是否仅存在必需权限、App ID 是否为显式非通配符、是否启用内购能力、推送权限是否仅在实现推送时存在、是否误用 com.apple.developer.in-app-payments。还包括平台目标检查:TARGETED_DEVICE_FAMILY 是否匹配产品意图(Xcode 模板默认“1,2”会声明 iPad 并触发 iPad 截图要求),以及 designed-for 目标是否被有意设置。

1.8 代码质量标记:检查生产代码中无 print()、测试外无强制解包、无硬编码 API 密钥/秘密/令牌、无内部/调试 URL 或测试服务器引用、无在发布构建中暴露测试 UI 的 #if DEBUG 块。

轨道 2 — 提交元数据清单

2.0 一次性 App 信息门:内容权利信息声明、首次“Add for Review”前所有必需 App 信息字段完成。

2.1 App Store Connect 元数据:应用名称(≤30 字符)、副标题(≤30 字符)、描述、关键词(≤100 字符)、宣传文本、新功能说明、支持 URL、隐私政策 URL、订阅应用的条款链接/隐私链接/自动续订说明、版权、主分类与次分类。

2.2 截图与预览:至少一组符合精确上传槽规格的 iPhone 截图(6.9 英寸 = 1320×2868 或 6.5 英寸 = 1284×2778,其他真实设备尺寸如 6.3 英寸不是有效上传槽)、通用应用的 iPad 截图、JPEG 或 PNG 格式、无占位或明显虚假截图、App 预览 ≤30 秒且 H.264 或 ProRes 422、截图展示真实 UI。

2.3 App 图标:1024x1024 图标、无透明或 alpha 通道、不与其他应用重复、应用内图标与 App Store 图标一致。

2.4 版本与构建:版本号语义化递增、构建号递增、应用目标与扩展目标版本/构建匹配、使用当前必需 SDK 构建。

2.5 年龄分级:完成问卷、评级反映实际内容、如适用扩展年龄分级需在 2026 年 1 月 31 日前更新。

2.6 审核备注:提供演示凭据、特殊流程说明、设备端 AI 的设备/OS 要求说明、订阅披露位置说明、审核员联系方式。

2.7 审核提交组装(指南 2.1(b)):首次内购必须与 App 版本附加到同一审核提交;同一平台一次只能有一个审核提交;检查内购是否附加到同一提交、首次内购是否在点击“Add for Review”前确认、版本已在审核但内购未提交时预期 2.1(b) 拒审、已批准版本与未批准内购同时发布会导致付费墙无法加载产品。

使用方式

技能被调用时,按顺序执行上述所有章节。每项检查需检查项目中的相关文件/配置,报告 PASS、WARN 或 FAIL 并附一行说明。最终生成所有结果汇总表,格式包含审计标题、日期、结果表格、关键问题(FAIL,提交前必须修复)、警告(WARN,应修复,有拒审风险)、建议。若无 FAIL 项,则声明“No blocking issues found. Ready for submission.”。技能不跳过任何章节,也不询问用户要运行哪些章节,而是全部运行。

适用场景与限制

适用于 iOS 应用在提交 App Store 版本或内购前的自查。资料指出 Apple 在 https://developer.apple.com/news/upcoming-requirements/ 发布执行截止日期,若用户提到特定截止日期或新要求,应交叉参考 references/appstore-review-ref.md 第 8 节。审计结果依赖项目实际文件与配置,具体平台要求、SDK 版本和政策会随时间变化,需以 Apple 官方最新要求为准。资料未提供该技能的收费、价格或安装命令信息。