OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  auditing-appstore-readiness:审计 iOS 应用仓库的 App Store 上架准备情况

auditing-appstore-readiness:审计 iOS 应用仓库的 App Store 上架准备情况

 
  commit ·  2026-02-07 07:38:02 · 3 次点击  · 0 条评论  

名称: auditing-appstore-readiness
描述: 审核 iOS 应用仓库(Swift/Xcode 或 React Native/Expo)是否符合 App Store 规范并评估发布就绪度;输出通过/警告/失败报告及发布清单。
元数据: {"openclaw":{"emoji":"🧾","requires":{"bins":["git"]}}}


App Store 发布就绪度审核

此技能用于审查应用仓库,并为 iOS App Store / TestFlight 提交生成发布就绪度报告。

支持的项目类型:
- 原生 iOS (Swift/Obj‑C, Xcode 项目/工作空间)
- React Native (裸项目)
- Expo (托管或预构建项目)

快速开始(推荐)

在仓库根目录运行只读审核脚本:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo . --format md" }

如果需要同时输出 JSON 格式:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo . --format md --json audit.json" }

如果仓库是单体仓库,请指向应用目录:

{ "tool": "exec", "command": "node {baseDir}/scripts/audit.mjs --repo apps/mobile --format md" }

输出约定

始终返回:
- 总体结论:通过 / 警告 / 失败
- 检测到的项目类型及关键标识符(包标识符、版本号、构建号)
- 包含证据和修复步骤的检查项列表
- 开发者可勾选的发布清单

使用模板:references/report-template.md

安全规则(请勿破坏仓库)

默认使用只读命令。除非满足以下条件,否则不要运行会修改工作空间的命令:
- 用户明确要求,
- 修复操作简单且明显是用户期望的(需先解释将进行哪些更改)

可能修改仓库的命令示例:
- 依赖安装 (npm i, yarn, pnpm i, pod install)
- 配置生成 (expo prebuild)
- 签名自动化 (fastlane match)
- 归档 (xcodebuild archive, eas build) —— 会生成产物并可能需要签名

如果必须运行会修改仓库的命令,请在执行前明确标记为修改操作

主要工作流程

1) 识别仓库和项目类型

优先使用脚本检测 (audit.mjs)。如需手动识别:

  • Expo 项目特征:package.json 包含 expo 且存在 app.json / app.config.*
  • React Native (裸项目) 特征:package.json 包含 react-native 且存在 ios/ 目录
  • 原生 iOS 项目特征:存在 *.xcodeproj*.xcworkspace 文件

如果存在多个应用,请选择符合用户意图的那个;否则,选择满足以下条件的目录:
- 包含单个 ios/<AppName>/Info.plist 文件,且
- 根目录附近恰好有一个 .xcodeproj.xcworkspace 文件。

2) 运行静态合规性检查(通用)

即使没有 Xcode,也应运行以下检查:

  • 仓库整洁度:Git 状态是否干净;是否未提交明显的密钥
  • iOS 标识符:包标识符、版本号、构建号
  • 应用图标:是否包含 App Store 规格(1024×1024)的图标
  • 启动屏幕是否存在
  • 隐私与权限
  • 隐私清单 (PrivacyInfo.xcprivacy) 是否存在或已明确说明
  • 相关权限使用描述是否已配置(相机、定位、跟踪等)
  • 避免宽泛的 ATS 例外设置 (NSAllowsArbitraryLoads)
  • 第三方 SDK 规范性:许可证、隐私清单、跟踪披露
  • 商店列表基础信息:隐私政策 URL 是否存在于仓库/文档中;支持/联系信息

脚本会为这些检查项输出通过/警告/失败。

3) 运行构建准确性检查(需 macOS + Xcode,可选但置信度高)

仅在Xcode 可用时运行(本地 macOS 网关或已配对的 macOS 节点)。

推荐步骤(会生成构建产物):

1) 显示 Xcode 和 SDK 版本:

2) 列出方案(根据检测到的项目/工作空间):
{ "tool": "exec", "command": "xcodebuild -list -json -workspace <路径>.xcworkspace" }

3) 为模拟器进行 Release 构建(快速,无需签名):

4) 如果需要分发产物(修改操作 / 签名):
- 如果已配置 Fastlane,优先使用
- 否则使用 xcodebuild archive + xcodebuild -exportArchive

如果无法执行构建检查,报告必须明确说明,并将总体结论保持在警告(除非存在明确的失败项)。

4) 生成最终就绪度报告

  • 使用模板:references/report-template.md
  • 包含“通过 / 不通过”建议:
  • 失败 → 提交前必须修复
  • 警告 → 提交可能成功,但存在风险点
  • 通过 → 已准备好提交;剩余事项为行政性工作

代理无法完全验证的手动检查项

始终在报告末尾包含此清单部分(即使自动化检查已通过):

  • App Store Connect 元数据:截图、描述、关键词、年龄分级、定价、类别
  • 隐私营养标签与实际行为是否匹配
  • 出口合规性(加密) 答案是否正确
  • 内容/知识产权:许可证、第三方资产、商标
  • 账户/地区要求(例如,如适用,欧盟贸易商状态)
  • 应用内购买/订阅配置(如使用)

参见:references/manual-checklist.md

当用户要求“使其合规”时

切换到修复模式:
1) 识别可在仓库内安全修复的失败项(Info.plist 字符串、PrivacyInfo.xcprivacy 模板、收紧 ATS 例外设置等)
2) 提出最小化补丁并使用 apply_patch 应用
3) 重新运行 audit.mjs 并更新报告

快速查阅

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor