跳至内容

iOS 厨房工作台 ​

从任意内置菜谱详情点「厨房工作台」,进入独立的全屏 SwiftUI 页面。「收起」回到原来的详情,备料和计时继续保留。

界面与数据 ​

  • 默认按实际窗口布局:可用宽度达到 760 pt,或宽度至少 641 pt 且高度至少 520 pt 时,左侧图文做法、右侧备料和计时并排展示,分别滚动。后一个条件让竖向展开窗口也能保留各至少 320 pt 的两栏,不依赖设备型号。
  • 窄屏用原生分段控件切换「做法 / 备料与计时」,切换时保留当前阅读位置;阅读时底部保留计时器入口与剩余时间。辅助功能大字号使用单栏,避免拥挤。
  • 正文复用 RecipeTextContent,保留图片放大、出处和原文链接。没有内置图文时说明缺失,并保留原做法链接;不生成或猜测步骤。
  • 备料优先读取正文中「必备原料和工具」章节的列表,原样保留用量、可选说明和工具。不解析后续步骤,也不自动合并不同来源的配方。没有该章节时用已记录的食材;用量与完整用料仍需参照做法。
  • 勾选表示这次已经备好,与推荐页已选食材、常备调料、冰箱库存独立。清空备料不清除计时。
  • 清单保留原生圆圈/勾选状态图标,不为每行增加食材 emoji;材料、调料和工具统一按原文显示,避免重复图标挤占用量文字。

半折与台面布局 ​

  • 原生「布局」菜单提供「自动 / 台面」。台面模式把图文放在上方,备料与计时放在下方;下方计时操作固定,材料清单独立滚动。菜单选择只作用于当前工作台。
  • iOS 27.1 起读取 GeometryProxy.reservedRegions(kind: .division) 的有效区域及边距。水平折痕采用上下布局,竖直折痕采用左右布局;遵循实际容器坐标,给折痕留空,不假设折痕在屏幕中点。系统分区优先于手动选择。
  • 不使用设备型号、陀螺仪或连续铰链角度猜测台面姿态。采用 SwiftUI Layout 复用同一对原生滚动视图,避免布局变化重建正文。
  • 没有系统分区时,手动台面在宽度 ≥ 320 pt、高度 ≥ 520 pt 下提供上下预览;空间不足或辅助功能大字号时回到单栏/默认宽屏布局。系统实际分区下,大字号的计时器与材料放在同一个可滚动表单中,确保全部控件可访问。
  • 旧 SDK 使用编译条件隔离新 API,最低系统要求仍为 iOS 17。Xcode 27.1 / Swift 6.4 构建才会包含系统分区适配;旧构建保留手动台面布局。

API 与交互参考:Apple 的自适应布局说明。

计时与保存 ​

每道菜一个计时器,默认 5 分钟,可用系统滚轮选择 1–180 分钟,支持开始、暂停、继续、重置、到时后再计一次。以绝对结束时间计算剩余时长;界面每秒刷新,后台不运行循环任务。

备料勾选、时长、暂停余量和结束时间按菜谱 ID 保存在本机 UserDefaults 的 kitchen.workbench.v1,收起、旋转、切后台、进程重启后可恢复,不上传、不参与 CloudKit 同步。重新开始一轮做菜时手动清空备料。

首次开始计时请求系统通知权限。允许后由本地通知提醒,拒绝或安排失败时页面显示说明,计时仍然可用。暂停和重置会撤销对应通知;连续操作按菜谱串行更新,避免旧请求覆盖新请求。通知使用 kitchen-timer- 前缀,与冰箱临期通知互不影响。

验证 ​

  • KitchenWorkbenchTests:按原文生成清单、暂停/继续、跨后台时间计算、到时与重置、存储恢复、菜谱隔离、快速操作的通知时序。
  • KitchenWorkbenchLayoutTests:不居中的水平折痕、竖直折痕、折痕留空、无效区域、竖向展开的两栏最小宽度、手动布局和小窗口/大字号回退。
  • KitchenWorkbenchUITests:从真实菜谱详情进入,查看图文,勾选备料,暂停/继续/重置,横竖屏切换,终止并重启后恢复;切换台面布局、上下分区、材料滚动时固定计时器、布局切换后状态保留。沿用 CI 的 iPhone / iPad 双设备检查。
  • UI 测试用独立存储和禁用通知的客户端,不读取用户进度或发送真实提醒。

本版不包含视频嵌入、步骤自动同步或多道菜统一调度。手动台面模式已在 iOS 27.0 的 iPhone 和 iPad 实测;iOS 27.1 / iPhone Duo 模拟器已通过 Device Hub 的真实姿态控制验证展开横竖屏、水平/竖直半折自动切换和闭合返回,备料与暂停时间保持。展开竖屏实测宽度 669 pt,已修正原 760 pt 门槛导致的单栏回退。

本轮 6 项布局单元测试和 Duo 外屏台面 UI 用例通过;完整 Duo UI 自动化尚未全绿:内屏流程卡在原生浮层侧栏的可点击性,外屏流程卡在 XCTest 旋转后的窗口尺寸等待。对应实际操作已人工核验,不将人工结果计为自动化通过。截图和复现范围见 验证记录。iPhone Duo 真机和系统通知实际送达仍未验证,宣传材料应明确模拟器演示范围。

Web 已有的「并排浏览」是选材与推荐视图,见 Web 做菜视图,与本页的烹饪任务入口分别维护。