Greenlight:快速 App Store 预提交合规性扫描器

Greenlight:快速 App Store 预提交合规性扫描器

构建 iOS 应用只是一半的工作。Apple 的审核指南极为严格,任何疏忽都可能导致数天、数周甚至数月的开发时间损失。Greenlight 通过在您上传到 App Store Connect 之前扫描项目,消除这一风险。

什么是 Greenlight?

一款开源、基于 CLI 的工具,评估 Swift、Objective‑C、React Native 以及 Expo 代码中的 30+ 次拒绝模式风险。它还检查元数据、隐私声明,甚至 IPA 二进制文件,查找缺失信息、错误 URL 或不安全内容。扫描器 100 % 离线,可生成人类可读或 JSON 输出,以便 CI 集成。


为什么需要 Greenlight

  • 避免被拒:在 Apple 之前发现关键问题——私有 API 使用、硬编码秘密、缺失 ATT 等。
  • 加速部署:在本地机器或 CI 运行器上数秒完成扫描。
  • CI 准备:输出可由 GitHub Actions、Bitrise 或任何 CI 系统解析。
  • 自我修复:结合 Claude 或 Codex 技能实现自动补救。

安装与快速开始

平台 命令
macOS (Homebrew) brew install revylai/tap/greenlight
Linux/Windows (Go) go install github.com/RevylAI/greenlight/cmd/greenlight@latest
源码 ```
git clone https://github.com/RevylAI/greenlight.git
cd greenlight && make build
```

安装完成后运行完整的预检扫描:

# 扫描当前目录并将结果输出至终端
greenlight preflight .

# 包含 IPA 进行二进制检查
greenlight preflight . --ipa build.ipa

# 导出 JSON 便于 CI 流水线解析
greenlight preflight . --format json --output report.json

preflight 命令并行执行所有扫描器:metadatacodescanprivacy 以及可选的 ipa 检查。


深入解析:各扫描器检查内容

扫描器 检查内容
metadata 验证 Info.plistapp.json – 名称、包 ID、图标、隐私政策 URL、用途字符串
codescan 30+ 模式:
- 私有 API 调用
- 硬编码秘密或 API 密钥
- 数字货物的外部支付
- 动态代码执行
- 加密挖矿
- 缺失 Sign‑in‑with‑Apple
- 缺失 ATT 的广告 SDK
- 未实现“恢复购买”的社交登录
- 占位符字符串、IPv4 文字、非安全 URL
privacy PrivacyInfo.xcprivacy 完整性、Required‑Reason API 映射、跟踪 SDK 与 ATT 实现
ipa 二进制检查:Info.plist 键、启动故事板、图标尺寸、应用大小、框架隐私声明

CI / CD 集成

Greenlight 输出 JSON,十分适合自动化流水线。以下是一个最小的 GitHub Actions 示例,若任何关键问题出现即使构建失败:

- name: App Store 合规性
  run: |
    greenlight preflight .
    greenlight preflight . --format json --output report.json
    if jq -e '.summary.critical > 0' report.json > /dev/null; then
      echo "发现关键问题 – 请在提交前修复"
      exit 1
    fi

更高级的用法包括输出 JUnit 供测试报告使用,或利用 scan 命令直接查询 App Store Connect 的元数据。


使用 Claude 与 Codex 自动修复

Claude 代码技能

# 复制技能文件
mkdir -p .claude/skills
cp /path/to/greenlight/SKILL.md .claude/skills/greenlight.md

现在,向 Claude 提问:

Run greenlight preflight and fix everything until it passes

Claude 将反复扫描并修补直至结果为 GREENLIT。

Codex 技能

mkdir -p ~/.codex/skills/app-store-preflight-compliance
cp -R codex-skill/* ~/.codex/skills/app-store-preflight-compliance/

然后在 Codex 提示中使用:

Use $app-store-preflight-compliance to run Greenlight preflight and fix all findings until GREENLIT.

两种技能都将 Greenlight 打造成自我修复的合规跑者。


何时使用 Greenlight

场景 选择 Greenlight 的理由
新应用 在首次上传到 App Store Connect 之前验证所有代码、元数据和二进制文件
传统应用 在近期迁移后识别隐藏的隐私或 API 问题
CI 流水线 在为 TestFlight 生成构建前作为合规门限
安全团队 扫描硬编码秘密或加密挖矿模式
持续交付 与 Claude 或 Codex 一起在拉取请求中自动修复问题

获取帮助与贡献

Greenlight 采用 MIT 许可证发布。欢迎贡献——可查看 repo 的未解决 issue 或提交 PR。文档在 README.md,并为 AI 集成提供了最小的 SKILL.mdcodex-skill 包。

更多信息请访问 GitHub repo:


结论

预提交合规性是应用发布的无声杀手。Greenlight 通过即时、可执行的反馈,消除这一未知风险,帮助您在构建 IPA 前满足 Apple 严苛的审核准则。

只需一条命令,您即可:

  1. 扫描本地项目或 IPA 文件。
  2. 在 CI 流水线中执行合规检查。
  3. 与 AI 工具集成,自动修复关键问题。
  4. 让代码库保持健康,隐私声明保持最新,应用随时准备顺利通过 App Store 审核。

立即开始——安装 Greenlight,运行预检扫描,避免那些令人头疼的拒绝。

原创文章: 查看原文

分享本文