
joywayerandClaude Opus 4.7
9f4ccb762e
Design §7.5.3/.8:AppDataWriter 加 os.log 调试输出 + 联调可观察性
用户在 Phase 1.17 联调准备时反馈:app_*.js 写入时应该有控制台输出,
方便调试。本 commit 在 §7.5 蓝图层落实可观察性,Phase 2 实施按此骨架
就有完整 debug log。
§7.5.3 AppDataWriter 改动(同时修正若干与 msext 字面不一致的细节):
- 引入 os.Logger(subsystem: ylgamehall, category: AppDataWriter)
- writeAppData / writeGamesName / writeBattery / writeNetwork 全部打印
{ContainerRole} + 文件路径 + 每个 key=value 一行,便于和 H5
console.log(app_xxx) 逐项对账
- ContainerRole 实现 CustomStringConvertible("lobby" / "subGame(name)")
- Logger.debug 级别:Debug 出 Xcode 控制台,Release 自动过滤
- privacy: .public 标注(确保字符串值不被 Logger 模糊化为 <private>)
**字面修正**(对照 daoqi/msext 实际代码二次校对):
- 字符串包裹符 " → '(msext 用 "var x='%@';" 单引号)
- escape 转义对象从 \" 改为 \'(与单引号包裹配套)
- 数值字段(version / Launchtype / getwifisignalLevel / appversion)
去掉引号,沿用 msext "var app_version=1;" / "var app_appversion='%d';"
- app_gamesname 从 JS array literal [...] 改为 new Array(...),
var 后两空格,严格 AppDelegate.m:259 字面
§7.5.8 新增「联调时的可观察性(Phase 1.17 调试手段)」:
- 路径 1:Xcode 控制台 — 原生 os.log 输出格式样例
- 路径 2:沙盒文件直接 cat — xcrun simctl get_app_container 命令 +
4 个 .js 文件 cat 验证
- 路径 3:H5 console — Safari Web Inspector 逐项 console.log(app_xxx)
样例,标注 ⚠️ 大小写硬约束(Launchtype L 大写 / battery 带 get 前缀)
- 路径 4:真机 Safari 调试启用方法
- Release 注意事项:os.log .debug 自动过滤避免性能开销和敏感字段外泄
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-22 08:09:57 +08:00
..
2026-06-21 22:32:38 +08:00
2026-06-22 08:02:24 +08:00
2026-06-22 08:02:24 +08:00
2026-06-22 08:09:57 +08:00