厨房工作台验证记录
2026-10-24,Xcode 27.1 / Swift 6.4。功能和数据边界见 厨房工作台。
已完成
- Debug 模拟器构建通过;旧 SDK 通过编译条件隔离系统分区 API,最低系统要求仍为 iOS 17。
- 第一版完整 CookTests 62 项通过;增加半折布局后 66 项通过;增加展开竖屏边界后,6 项布局测试全部通过。
- iPhone 18 Pro / iOS 27.0:2 项工作台 UI 测试通过,覆盖阅读位置、备料勾选、开始/暂停/继续/重置、横竖屏切换、进程重启恢复、手动台面和固定计时条。
- iPad Pro 11-inch (M5) / iOS 27.0:宽屏并排及手动台面工作台 UI 流程通过。
- iPhone Duo / iOS 27.1(24A94232):通过 Device Hub 原生 Open、Partially Open、Closed 和 Rotate Right 控制验证,工作台菜单保持「自动」,没有注入折痕数据。水平半折上下排列,竖直半折左右排列,展开横竖屏均为双栏,闭合返回紧凑布局。暂停的 04:55 和鸡蛋已备好(1/6)在切换中保持。
- 水平半折时,下方材料独立滚动,计时器固定;系统折痕区域留空。
- 实测内屏竖向展开宽度 669 pt,已修复原 760 pt 门槛导致的单栏回退,并覆盖两栏最小宽度、小窗口和大字号回退。
尚未通过或未验证
- Duo 外屏自动化:6 项布局单元测试和台面 UI 用例通过;另一项 UI 用例在 XCTest 设置横屏后等待窗口尺寸/计时器位置超时,其后续重启恢复段未执行。Device Hub 原生旋转后的实际操作已单独验证。
- Duo 内屏自动化:两个 UI 用例停在系统浮层菜谱侧栏按钮的可点击性等待,尚未进入工作台;原生界面操作可打开工作台。此处只记录观察,不断言为 Apple 已知问题。
- 人工操作验证不计入自动化通过数;完整 Duo UI 自动化尚未全绿。
- Duo 真机、系统通知实际送达未验证。UI 测试使用隔离存储并禁用真实通知。视频未嵌入。
复现
生成共享数据和 Xcode 工程后,运行 Cook scheme 的 CookTests 与 CookUITests/KitchenWorkbenchUITests。CI 沿用 iPhone / iPad 双设备检查。
模拟器启动超时时,先运行 python3 apps/ios/scripts/prepare-simulator.py <UDID>,再对同一设备执行测试。脚本等待完整启动,不清空设备或重启全局模拟器服务。
Duo 姿态需要 iOS 27.1 运行时。在 Device Hub 中从外屏打开工作台,勾选一项并暂停计时,再逐一展开、半折、旋转和闭合,核验布局与状态保持。完整本地 JSON 结果、启动日志和截图保留在任务工作区;仓库保留本记录。