mcpField
A
app-store-preflight-skills

app-store-preflight-skills

github.com/truongduy2611测试与质量1.4k2.1k 次安装2 周前更新
代码仓库

关于 app-store-preflight-skills

用于在提交前检查 iOS 和 macOS 项目中的 App Store 常见拒审风险的 Agent 技能。它按应用类型提供检查清单、规则检查指引、报告格式及部分问题的自动修复建议。

主要功能

  1. 01按应用类型提供指南清单
  2. 02提供元数据与规则检查指引
  3. 03按严重程度整理预检报告
  4. 04针对部分问题提供修复建议

适用场景

  1. 01提交 App Store 前审查应用
  2. 02检查订阅和隐私要求
  3. 03发现元数据长度或链接问题

安装

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

$npx skills add https://github.com/truongduy2611/app-store-preflight-skills --skill app-store-preflight-skills

安装后在 Claude Code 中输入/app-store-preflight-skills确认已加载。

包含的文件

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

README.md
LICENSE
references/guidelines/
README.md
references/guidelines/by-app-type/
health_fitness.md
games.md
kids.md
crypto_finance.md
macos.md
all_apps.md
ai_apps.md
social_ugc.md
vpn.md
subscription_iap.md
references/rules/design/
minimum_functionality.md
hidden_features.md
sign_in_with_apple.md
references/rules/entitlements/
unused_entitlements.md
references/rules/metadata/
accurate_metadata.md
china_storefront.md
apple_trademark.md
subscription_metadata.md
review_notes_new_submission.md
review_notes_template.md
competitor_terms.md
references/rules/privacy/
privacy_manifest.md
third_party_ai_consent.md
unnecessary_data.md
references/rules/subscription/
misleading_pricing.md
missing_tos_pp.md

详细介绍

App Store 预检技能

对你的 iOS/macOS 项目运行提交前检查,发现常见的 App Store 拒绝原因。

前置条件

步骤 1:确定应用类型 → 加载检查清单

从 references/guidelines/by-app-type/ 加载相关检查清单,确定适用的指南。始终先加载 all_apps.md,再添加适用于特定应用类型的检查清单:

应用类型检查清单
所有应用references/guidelines/by-app-type/all_apps.md
订阅 / IAPreferences/guidelines/by-app-type/subscription_iap.md
社交 / UGCreferences/guidelines/by-app-type/social_ugc.md
儿童类别references/guidelines/by-app-type/kids.md
健康与健身references/guidelines/by-app-type/health_fitness.md
游戏references/guidelines/by-app-type/games.md
macOSreferences/guidelines/by-app-type/macos.md
AI / 生成式 AIreferences/guidelines/by-app-type/ai_apps.md
加密货币与金融references/guidelines/by-app-type/crypto_finance.md
VPNreferences/guidelines/by-app-type/vpn.md

完整指南索引:references/guidelines/README.md

步骤 2:拉取元数据以供检查

使用 asc CLI 拉取最新的 App Store 元数据:

# Pull canonical metadata JSON for the version you want to review
asc metadata pull --app "<APP_ID>" --version "<VERSION>" --dir ./metadata

asc metadata pull 会将应用信息文件写入 ./metadata/app-info/*.json,并将版本本地化文件写入 ./metadata/version/<VERSION>/*.json。

以下大多数规则示例都假设使用 asc metadata pull 写入的规范 JSON 布局。

创意素材(产品页面页眉、搜索结果素材;指南 2.3.14)存储在 App Store Connect 的 Asset Library 中。如果你的 asc 版本不会拉取这些素材,请手动根据 2.3.14 进行检查。

如果你的元数据采用其他布局(例如 fastlane 的 metadata/),请调整文件路径示例以适配该结构,或者先拉取规范的 asc 布局。

步骤 3:运行拒绝规则检查

对于每个类别,从 references/rules/ 加载相关规则文件并进行检查。每条规则都包含:检查内容、检测方法、解决方案和拒绝示例。

类别规则文件
元数据references/rules/metadata/*.md
订阅references/rules/subscription/*.md
隐私references/rules/privacy/*.md
设计references/rules/design/*.md
权限references/rules/entitlements/*.md

步骤 4:报告检查结果

使用以下模板生成摘要报告:

## Preflight Report

### ❌ Rejections Found (N)
- [GUIDELINE X.X.X] Description of issue
  - File: path/to/offending/file
  - Fix: What to do

### ⚠️ Warnings (N)
- [GUIDELINE X.X.X] Potential issue

### ✅ Passed (N)
- [Category] All checks passed

按严重程度排序:先列出拒绝项,再列出警告,最后列出通过项。

步骤 5:自动修复并验证

有些问题可以自动修复:

  • 竞争对手相关词语 → 建议替换文本,移除竞争对手名称
  • 元数据字符数限制 → 显示当前长度和最大长度
  • 缺少链接 → 生成 ToS/PP 链接模板

应用任何自动修复后,重新运行受影响的检查,确认修复已解决问题。只有重新扫描通过后,才能标记为已解决。

对于需要人工处理的问题(截图、UI 重新设计),请提供明确的说明,但不要自动修复。

注意事项

  • 中国区 Storefront — 被禁用的 AI 相关词语(ChatGPT、Gemini 等)会在所有地区设置中检查,而不仅仅是 zh-Hans。Apple 会检查中国区 Storefront 中显示的所有地区设置。
  • 隐私清单 — 即使你的应用没有直接调用 Required Reason API,也必须提供 PrivacyInfo.xcprivacy。使用 UserDefaults 或 NSFileManager 的第三方 SDK(Firebase、Amplitude 等)也会间接触发此要求。
  • asc 身份验证 — asc metadata pull 需要 App Store Connect 身份验证。请先运行 asc auth login,或设置 ASC_KEY_ID、ASC_ISSUER_ID,以及以下变量之一:ASC_PRIVATE_KEY_PATH、ASC_PRIVATE_KEY 或 ASC_PRIVATE_KEY_B64。如果不确定 asc 正在使用哪些凭据,请运行 asc auth doctor。
  • 订阅元数据 — Apple 要求 App Store 描述和应用内订阅购买页面中都包含服务条款和隐私政策链接。缺少其中任意一处都会导致单独的拒审。
  • 隐藏功能(2.5.19) — 可以使用功能标志,但它们能启用的每项功能都必须包含在送审版本中、可供审核人员访问,并在审核备注中说明。通过检查审核环境(沙盒收据、TestFlight)来控制功能属于诱导审核,可能导致开发者账户被终止。
  • 第三方 AI(5.1.2(i)) — 通过自己的后端代理 AI 调用并不能让你免责:如果提示词或用户内容会发送给 OpenAI、Gemini、Anthropic 等服务商,应用必须在首次请求前显示注明服务商名称的同意页面。
  • 通过 Apple 登录的中继域名 — 从 2026 年末起,新中继地址除使用 privaterelay.appleid.com 外,也会使用 private.icloud.com。对域名进行硬编码检查会导致新用户遇到问题。
  • SDK 最低版本要求 — 自 2026 年 4 月 28 日起,上传的应用必须使用 iOS 26 SDK 或更高版本构建。旧版 Xcode 会导致上传失败,而非审核失败。
  • macOS 权限 — Apple 会要求你说明每项临时例外权限(com.apple.security.temporary-exception.*)的用途。请移除未在积极使用的权限。

添加新规则

在适当的 references/rules/ 子目录中创建一个 .md 文件:

# Rule: [Short Title]
- **Guideline**: [Apple Guideline Number]
- **Severity**: REJECTION | WARNING
- **Category**: metadata | subscription | privacy | design | entitlements

## What to Check
## How to Detect
## Resolution
## Example Rejection

评论

支持 Markdown