IOS-INFO-005:接入 document runtime V2 FFI #113

Open
opened 2026-06-10 21:28:09 +08:00 by wangdl · 0 comments
Owner

目标

在 iOS 项目中接入 Rust document runtime V2 FFI / XCFramework / UniFFI binding。

需要接入的 V2 方法

  • openReadingSessionV2
  • closeReadingSessionV2
  • recordPositionChangedV2
  • recordMarkedAsReadV2
  • heartbeatV2
  • exportPendingEventsV2
  • ackEventsV2
  • markEventsFailedV2
  • getEventBufferStateV2
  • reloadStaleEventsV2

要求

  1. 不破坏 V1 接入。
  2. V2 通过 V2ReadingRuntimeAdapter 使用。
  3. Swift binding 命名统一包装。
  4. Rust error 转换成 iOS RuntimeError。
  5. DTO 映射统一在 Adapter 内处理。

验收标准

  1. iOS 项目可链接包含 V2 symbol 的 XCFramework。
  2. Swift 可调用 V2 方法。
  3. V2ReadingRuntimeAdapter 可创建 session。
  4. 可调用 heartbeat。
  5. 可 export pending events。
  6. 可 ack events。
  7. Swift binding 暴露 reload_stale_events_v2。
  8. V2ReadingRuntimeAdapter 封装 reloadStaleEventsV2 方法。
  9. reload_stale_events_v2 的错误可转换为 iOS RuntimeError。
  10. IOS-INFO-039 负责启动时实际调用。
  11. 有 smoke test 或本地示例。
## 目标 在 iOS 项目中接入 Rust document runtime V2 FFI / XCFramework / UniFFI binding。 ## 需要接入的 V2 方法 - openReadingSessionV2 - closeReadingSessionV2 - recordPositionChangedV2 - recordMarkedAsReadV2 - heartbeatV2 - exportPendingEventsV2 - ackEventsV2 - markEventsFailedV2 - getEventBufferStateV2 - reloadStaleEventsV2 ## 要求 1. 不破坏 V1 接入。 2. V2 通过 V2ReadingRuntimeAdapter 使用。 3. Swift binding 命名统一包装。 4. Rust error 转换成 iOS RuntimeError。 5. DTO 映射统一在 Adapter 内处理。 ## 验收标准 1. iOS 项目可链接包含 V2 symbol 的 XCFramework。 2. Swift 可调用 V2 方法。 3. V2ReadingRuntimeAdapter 可创建 session。 4. 可调用 heartbeat。 5. 可 export pending events。 6. 可 ack events。 7. Swift binding 暴露 reload_stale_events_v2。 8. V2ReadingRuntimeAdapter 封装 reloadStaleEventsV2 方法。 9. reload_stale_events_v2 的错误可转换为 iOS RuntimeError。 10. IOS-INFO-039 负责启动时实际调用。 11. 有 smoke test 或本地示例。
wangdl added this to the M-IOS-INFO:学习信息采集、上传、继续学习与基础分析闭环 milestone 2026-06-10 21:28:09 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangdl/ios-projects#113
No description provided.