diff --git a/CLAUDE.md b/CLAUDE.md index 1c33be1..39c17a8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -93,6 +93,20 @@ daoqi 仓库当前并存两条工作线: - **优先验证字面字符串、不要依赖语义猜测**:`app_getbattery` 与 `app_battery` 一字之差,AI 助手凭语义"应该就是 app_battery 吧" 100% 会犯错 - **iOS 最低系统版本是契约边界的天然过滤器**:契约里 iOS<9 路径明示可不实现的接口(如 §附录 A 旧桥),新项目最低 iOS 15.6 应当主动剔除,不要"出于完备性"反而实现一份用不到的 polyfill +### 典型案例:`app_*` 注入时序问题(原则 A 不可妥协) + +- **症状**:H5 端读到 `app_gameconfig` 等关键变量是 H5 zip 包内默认占位值,不是 ChannelConfig.plist 的实际渠道值 +- **调研发现**(按 CLAUDE.md「先看原项目」规则):原 msext 在 `NewRootVC.viewDidLoad → initJSdata`(`loadFileURL` **之前**)用 `writeToFile:` 把 `app_data.js` 写入沙盒,H5 启动时通过 `