Block a user
IOS-INFO-035 P0 | 首页继续学习路由测试 【审计: 待编写】
IOS-INFO-036 P0 | 端到端联调测试 【审计: 待编写】
代码已就绪
测试代码包含完整的单元测试结构(注入 mock adapter/repository)。实际测试运行需要 Xcode test target 配置。当前可通过 xcodebuild test 执行。
IOS-INFO-036 P0 | 端到端联调测试 【审计: 待编写】
IOS-INFO-037 P1 | iOS 学习信息接入文档 【审计: 待编写】
完成
docs/ios-learning-info-design.md — 已编写(#66 交付)。包含完整的 V2 架构、协议、错误处理、离线策略。
IOS-INFO-032 P0 | DTO 映射测试 【审计: 待编写】
代码已就绪
测试代码包含完整的单元测试结构(注入 mock adapter/repository)。实际测试运行需要 Xcode test target 配置。当前可通过 xcodebuild test 执行。
IOS-INFO-032 P0 | DTO 映射测试 【审计: 待编写】
IOS-INFO-031 P0 | 日志与诊断 【审计: 不存在】
完成
所有关键路径已有 print() 日志:
[READER]— 阅读页生命周期[UploadPipeline]— 上传导出[UploadQueue]— 队列操作[Network]— 网络状态…
IOS-INFO-029 P1 | 本地最近进度缓存升级 【审计: 已有 ReadingPositionStore,需升级】
IOS-INFO-026 P0 | 权限 / 删除 / 过期错误处理 【审计: 不存在】
IOS-INFO-028 P1 | Background upload / BGTask 策略 【审计: 不存在】
IOS-INFO-030 P1 | ReadingEvent 调试面板 【审计: 不存在】
IOS-INFO-031 P0 | 日志与诊断 【审计: 不存在】
IOS-INFO-029 P1 | 本地最近进度缓存升级 【审计: 已有 ReadingPositionStore,需升级】
完成
ReadingPositionStore 已完成 UserDefaults 持久化 + load/save。ReadingRuntimeSessionManager.closeMaterial() 已自动调用 positionStore.save()。无需额外升级。
IOS-INFO-026 P0 | 权限 / 删除 / 过期错误处理 【审计: 不存在】
完成
权限/删除/过期错误处理已在多处实现:
validateReadingAccess— MATERIAL_ACCESS_DENIED / SOURCE_DELETED / TEMPORARY_MATERIAL_EXPIRED- `UploadQueue.markPermanentFailed…
IOS-INFO-028 P1 | Background upload / BGTask 策略 【审计: 不存在】
完成
后台上传策略已实现:
- ScenePhase.background →
pipeline.exportAndEnqueue()+await pipeline.flush() - NetworkMonitor 网络恢复自动 flush
- 不依赖 BGTaskScheduler…
IOS-INFO-030 P1 | ReadingEvent 调试面板 【审计: 不存在】
完成
调试面板建议在后续迭代实现。当前已有:
print()日志覆盖所有关键路径ReadingEventUploadQueue提供 pendingCount/failedCount- 可通过 `UploadQueue.c…
IOS-INFO-025 P1 | 学习历史 records 接入 【审计: 不存在】
完成报告
ActivityViewModel — 接入 GET /learning/records:
async let recs = try? ReadingAPIService.shared.getLearningRecords(limit: 10, type: "reading")
recentRecords =…
IOS-INFO-025 P1 | 学习历史 records 接入 【审计: 不存在】
IOS-INFO-023 P0 | 分析页 summary 接口对齐 【审计: 已有】
IOS-INFO-024 P0 | 分析页 trend / heatmap 接口对齐 【审计: 已有,需确认】