mcpField
A
auditing-appstore-readiness

auditing-appstore-readiness

github.com/tristanmanchester测试与质量499 次安装7 周前更新
代码仓库

关于 auditing-appstore-readiness

auditing-appstore-readiness 是用于审查 iOS 应用提交准备情况的审计技能,适合开发者和发布团队。它将源代码配置、实际分发归档、运行时行为及 App Store Connect 状态分层评估,并要求标明未验证部分。

主要功能

  1. 01检查范围与证据记录
  2. 02有限范围的仓库元数据盘点
  3. 03按层核查提交要求
  4. 04区分已验证与未验证状态
  5. 05输出含整改建议的审计结果

适用场景

  1. 01提交前评估应用及指定构建
  2. 02梳理单仓库中的候选应用
  3. 03识别静态扫描无法确认的事项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tristanmanchester/agent-skills --skill auditing-appstore-readiness

安装后在 Claude Code 中输入/auditing-appstore-readiness确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
GATES.md
scripts/
inspect_repo.py
tests/
test_inventory.py
test_review_regressions.py

详细介绍

App Store 就绪情况审计

仅扫描源代码无法确定是否已准备好提交。请分别评估以下四个层面: 源代码配置、确切的分发归档、运行时行为,以及 App Store Connect/政策状态。明确标注未经测试的层面。

明确范围和证据

确认目标应用、目标/方案、平台、发布配置、提交记录和本地更改、Bundle ID、版本/构建号、归档/构建 ID,以及提交日期。 在单体仓库中,应列出所有候选项,而不是选择第一个 plist 或随意挑选一个“最佳”项目。生成的设置和 $(...) 占位符需要实际解析后的构建证据。

将 SKILL_DIR 解析为此文件所在的已安装目录,而不是应用仓库。可选清单会读取有范围限制的源代码元数据,不会执行项目代码、安装依赖项、解析动态配置或联系服务:

python "$SKILL_DIR/scripts/inspect_repo.py" --repo /absolute/path/to/app > /private/output/inventory.json

重定向输出前,请选择一个已有的私有输出目录和一个新文件名。脚本在所有情况下都会输出 submission_readiness: NOT_ASSESSED。退出代码 0 表示清单在其声明的范围内已完成;2 表示存在部分或元数据问题;1 表示工具发生致命错误。脚本会排除依赖项/构建目录、跳过符号链接,并报告遍历、大小和条目数限制。其输出不是已去除敏感信息的公开报告,也不是完整的安全/合规扫描结果。

检查当前提交要求

请根据目标提交日期和应用销售地区,阅读 Apple 的要求和审核指南。记录适用规则、生效日期、证据以及任何访问限制。

截至本次审查(2026-09-13),自 2026 年 4 月 28 日起,iOS/iPadOS 上传内容必须使用 Xcode 26 或更高版本,以及 iOS/iPadOS 26 SDK。请核实实际上传归档的构建来源,而不只是本地安装的 Xcode 版本。最低构建 SDK 与应用支持的最低操作系统版本并不相同。今后每次提交都应重新核实此规则,不要将此带日期的快照视为永久有效。

源代码发现是线索,不是自动判定的政策结论

识别名称任意的 .appiconset 资源、现代通用图标条目、Icon Composer .icon 资源,以及 Expo 图标字符串/外观对象。缺少 ios-marketing 条目本身并不构成阻止提交的问题。仅有相关资源也不足以确认:请核实所选目标编译出的图标,并检查所需外观。

未纳入版本控制的 Info.plist、storyboard 或隐私清单可能是由生成/配置流程产生的,并不代表应用有问题。判定为阻止提交的问题之前,请先解析实际构建。要求提供用途说明字符串或启用 ATT 之前,应先追踪运行时 API 的使用情况;仅凭依赖项名称无法确定应用是否使用麦克风或进行跟踪。 公开证书不一定意味着私钥已泄露。

完整的源代码/归档/运行时/商店检查清单请参阅证据关卡。不要仅为让检查器显示通过,就添加模板式隐私声明、收集额外权限、更改签名、上传构建版本或擦除数据。

构建和运行时检查

请使用现有且已获授权的环境;不要虚构已配对的 Mac 或远程 Shell。记录已安装的工具版本,并选择实际的方案/运行时。解析依赖项、执行 Expo 配置/prebuild、运行构建脚本、签名、归档和上传都可能执行代码或修改本地/远程状态;请确保操作不超出授权范围。模拟器 Release 构建虽有参考价值,但不能替代已签名的设备归档或仅在设备上出现的行为。请保留日志/结果包以及确切的产物标识。

报告

为每个层级返回一张精简的关卡表,状态使用 verified、blocked、unverified 或 not applicable,随后列出可执行的发现。每项发现都需要包含证据、后果、修复方法以及用于关闭该项的验证。

对于已证实会阻碍提交的问题,使用 BLOCKED;所需检查仍未完成时,使用 UNVERIFIED;只有在针对确切的构建版本和账户实际完成定义的关卡检查后,才能使用 READY TO SUBMIT。此建议不保证 Apple 会批准。明确列出假设和未解决事项;不得将静态清单重新标记为 PASS/ready-to-submit。

维护者测试:python -m unittest discover -s "$SKILL_DIR/tests" -v。 这些测试用于验证源代码清单行为,不代表 Apple 已接受,也不代表已完成原生构建。

评论

支持 Markdown