SuperAPI AI 工具集

expo-ios-hig-verify

测试与质量

查看项目

更新于 10-16 03:46

技能介绍

用途:expo-ios-hig-verify 是一个只读的静态检查器,扫描 Expo(React Native)项目,找出违反 expo-ios-hig 规则的地方,按严重程度分组报告,给出 file:line 位置,并链接到解释修复方式的对应规则。它是 expo-ios-hig 参考技能的自动化对应工具:后者讲规则,本工具检查规则。

适用时机:用户要求检查、lint、审计或审查 Expo 应用的 HIG 合规性或原生感时;合并或发布 Expo iOS UI 改动前作为质量门禁;脚手架生成新页面后确认其保持原生风格;排查 Expo 应用为何“像网页套壳”或“像 Android”时。工具为只读,不会修改目标项目,可无人值守运行。

工作流程:verify-hig.sh 解析搜索根目录(默认 app/ src/ components/,或读取 config.json),逐条运行可检测规则的静态检查(优先 rg,回退 grep),汇总发现(severity、rule、message、file:line),打印分组报告(先 ERRORS 后 ADVISORIES)并附每条规则的链接,无问题退出 0,存在 ERROR 退出 1,加 --strict 时 advisory 也会导致失败。

命令示例: bash scripts/verify-hig.sh /path/to/expo-app bash scripts/verify-hig.sh /path/to/expo-app --strict bash scripts/verify-hig.sh /path/to/expo-app --json

检查项:ERROR 类检测高精度项,如 react-native-paper 等 Material 组件库导入、createStackNavigator、PanResponder、TouchableWithoutFeedback、allowFontScaling={false}、useNativeDriver: false。ADVISORY 类为启发式提示,如 createBottomTabNavigator、颜色属性中的硬编码十六进制、自定义 fontFamily、硬编码 StatusBar style、同时使用 ScrollView 与 .map() 的文件。

配置与依赖:config.json 可选,默认可用;可配置 search_roots 与 skill_rules_dir。安装 jq 时脚本读取配置,否则用默认值;优先使用 ripgrep,回退 grep,无硬依赖。

使用方式:对 Expo 项目根目录运行该脚本,阅读分组报告,打开链接的规则文件查看修复方法;ERROR 视为发布前必须修复,ADVISORY 需人工复查(可能是有意为之)。扩展时可向 run_checks() 添加 ERROR|ADVISORY 规则行。

相关技能:expo-ios-hig(被检查的规则来源)、expo-ios-screen-scaffolder(生成的页面天然通过这些检查)。

限制:资料未提供具体平台支持范围、收费、价格或性能数据;仅描述为静态只读扫描,未说明动态运行期检测能力。