用途:在向 App Store 提交或重新提交前,对发布候选版本做审查模拟,目标是消除可观察的拒审触发点。它只提供评估,Apple 拥有最终决定权,因此不承诺通过审核。
主要能力:先建立证据清单(发布源码与锁文件、.xcarchive/.app/.ipa、review-input.json、App Store Connect 元数据、截图、隐私清单与 entitlements、IAP 记录、演示账号等);运行 review_app.py 做确定性预检;用 capture_simulator.py 与 inspect_screenshots.py 抓取并检查截图;用 run_xcode_tests.py 执行运行时测试;对含 AI 的应用做 AI 叠加审查与安全套件测试;按应用类型、商店区域分支检查;生成发现报告并给出门禁结论。
使用方式:先运行 python3 scripts/check_policy_freshness.py --output review-output/policy.json(允许联网时加 --network);再运行 python3 scripts/review_app.py --config review-input.json --output-dir review-output,发布门禁可加 --network --strict;截图检查用 python3 scripts/inspect_screenshots.py,运行测试用 python3 scripts/run_xcode_tests.py --config review-input.json --output-dir review-output/runtime;AI 安全套件用 python3 scripts/run_ai_safety_suite.py --suite assets/ai-safety-test-cases.json --emit review-output/ai-prompts.jsonl;报告校验用 python3 scripts/validate_report.py review-output/report.json --strict。
适用场景:iOS、iPadOS、macOS、tvOS、watchOS、visionOS 的发布审查,涉及 Capacitor 项目、AI 功能、订阅与内购、区域商店分支、4.2/4.3 风险等。
限制:只有实际观察到产物或运行路径才能标记 PASS,缺失证据记为 SKIPPED 或 NEEDS_REVIEW;政策过期需标记 POLICY STALE 并停止就绪判断;不得擅自把源码、截图、凭据或用户数据上传第三方;不得推断法律合规;不得把社区报告当作政策依据;不做最终批准承诺。