资讯动态

Greenlight verify深度体验:静态扫描看不见的死按钮,如何用云真机运行时验证补全

发布时间:2026/10/4 5:13:08 来源:尧图企业网站定制
Greenlight verify深度体验静态扫描看不见的死按钮如何用云真机运行时验证补全【免费下载链接】greenlightPre-submission compliance scanner for the Apple App Store and Google Play. Scans code, privacy manifests, Android manifests, and IPA/APK/AAB binaries against the review guidelines. Offline, no account.项目地址: https://gitcode.com/gh_mirrors/greenlight2/greenlightGreenlight 是一款开源的 App Store / Google Play 上架前合规扫描器而它的verify命令正是为了解决静态扫描的盲区把“删除账户、恢复购买、Sign in with Apple”这三条关键流程直接放到云真机上跑一遍用运行时验证补全静态分析永远看不见的“死按钮”。如果你正准备提交应用这篇深度体验会带你快速上手。为什么静态扫描会漏掉“死按钮”静态扫描只能证明一段代码存在无法证明它能用。Greenlight 自己举了个最典型的例子你的源码里有deleteAccount这个字符串 → 静态扫描判定 §5.1.1账户删除合规绿灯放行但按钮实际上什么都没接 → 苹果审核员真机一戳毫无反应按 §5.1.1(v) 拒审同样的陷阱还有Restore Purchases 点了只是静默返回、Sign in with Apple 按钮被功能开关关掉了这类问题全部绿灯上线因为捕获它们的前提是把应用真正跑起来。相关的功能检测逻辑就在 internal/codescan/claims.go项目对静态天花板的完整论述见 README.md。 一句话总结静态扫描抓违规运行时验证抓坏流程。greenlight verify 三步快速上手第 1 步dry-run 免费预览无需账号、离线greenlight verify . --dry-run这条命令会先做静态预扫描找出你的应用声称了哪些流程然后只生成、不执行云真机测试把要跑的测试原样打印出来。不碰设备、不需要账号先看看运行时验证值不值得投入。第 2 步装好设备执行器并登录verify是 Greenlight 中唯一不离线的命令它通过revylCLI 驱动云上的模拟器/真机brew install revylai/tap/revyl # 或官方一键脚本安装 revyl auth login # 免费注册无需信用卡第 3 步正式跑云真机验证greenlight verify . --build-name My App \ --var emailqaacme.com --var passwordsecret--build-name指定已在 Revyl 注册的构建名--var传入测试账号等变量可重复使用。也可以直接用--artifact上传一个现成的.appiOS 模拟器包或.apkAndroid先跑验证详见 internal/cli/verify.go 中的参数定义。verify 能验证哪 3 条流程只验证你的应用实际声称了的流程不会瞎跑流程 ID对应指南运行时证明了什么account-deletion§5.1.1账户真的被删掉了而不只是有deleteAccount字符串restore-purchases§3.1.1恢复购买真的触发了响应而不是静默空操作sign-in-apple§4.8点按钮真的弹出系统 Sign in with Apple 面板三条流程的完整步骤定义包括删号后重新登录应被拒绝这样的验证断言都在 internal/verify/flows.go 里非常值得一读——它把审核员会怎么做翻译成了测试步骤。它是如何工作的从静态预扫描到云真机报告整个流程在 internal/verify/runner.go 中分四步静态预扫描用与 codescan 相同的特征模式检测你的应用声称了哪些流程internal/codescan/claims.go生成测试把每条流程渲染成一段自然语言测试YAML 交给 Revylinternal/verify/render.go比如登录 → 进入设置 → 点 Delete Account 并确认 → 验证回到登录页云端执行Revyl 在云设备上驱动应用真实地走完流程支持--open让浏览器实时观看执行过程读取报告轮询直到报告定案给出最终判定看懂五种判定结果每个流程会落入以下状态之一定义见 internal/verify/runner.go状态含义✅ verified真机上跑通行为正确❌ failed静态通过但真机上流程断了——这正是静态扫描抓不到的⚠️ error构建/设备/环境问题没能执行⏳ pending已声称该流程但缺少 Revyl 账号⏭ skipped应用未声称该功能或处于 dry-run几个贴心细节失败即证据failed会附带你卡在哪一步、原因以及一份可分享的云真机报告链接密码自动脱敏--var password...的敏感值不会泄漏到终端或 JSON 输出里CI 门禁加--exit-code任一流程 failed/error 就返回非零退出码可直接卡住流水线一键模式greenlight preflight . --verify --build-name My App --exit-code把静态扫描和运行时验证合并成一次调用常见注意事项 不是离线命令与 preflight/codescan 等命令不同verify需要 Revyl CLI 账号 已注册构建产物类型有讲究Revyl 跑云模拟器iOS 要传模拟器.appAndroid 传.apk签名后的.ipa会被拒绝并给出明确解释校验逻辑见 internal/verify/runner.gopending 不是报错看到 pending 说明静态扫描已发现你的流程只是还差一个免费 Revyl 账号命名防撞同一流程跑不同应用时测试名会按构建名自动生成唯一名称避免串台写在最后静态扫描的天花板是结构性的它读文本而按钮能不能用只存在于运行时。Greenlight 用verify把三条最容易被拒审的流程推上了云真机——静态说可以上线运行时负责证明它真的能跑。建议每次提审前跑一遍greenlight preflight . --verify把死按钮拦在苹果审核员之前。【免费下载链接】greenlightPre-submission compliance scanner for the Apple App Store and Google Play. Scans code, privacy manifests, Android manifests, and IPA/APK/AAB binaries against the review guidelines. Offline, no account.项目地址: https://gitcode.com/gh_mirrors/greenlight2/greenlight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑