阅读器在多会话朗读、加密 EPUB 资源、并发打开同一本书和多 UserDefaults 容器等场景下,存在旧异步结果覆盖新状态、锁屏控制串会话、大型明文资源被误拒绝、解压半成品被复用及标注跨容器混用的风险;同时高亮、书签、搜索和设置面板的空状态与自动化可访问性入口不完整。\n\n本次为朗读会话引入代次和当前 utterance 校验,远程控制改为仅响应当前会话并按自身 token 清理;加密资源 provider 先判定是否实际返回解密数据,明文大资源继续流式读取;解压缓存串行化以避免并发复用未完成目录。书签与高亮迁移至受保护文件,按 UserDefaults 容器隔离命名空间,保留标准容器旧文件兼容并确保新副本成功落盘后才删除历史数据。\n\n同步调整缓存淘汰、FoundationModels 弱链接、搜索/标注/设置面板交互与 UI 测试,并更新 Pod 生成配置及 API、风险文档。已执行 git diff --check 和 ReadViewDemo Debug Simulator 构建,结果为 BUILD SUCCEEDED。
RDEpubReaderView
项目内置的 EPUB、TXT、MOBI 与 CBZ 阅读器 CocoaPods 源码。
统一使用 RDEpubURLReaderController(bookURL:) 打开文件,支持扩展名:
epub:完整 EPUB 解析与排版txt:纯文本章节识别与排版mobi:无 DRM 的经典 MOBI6/PalmDOC(未压缩或 PalmDOC 压缩)cbz:ZIP 漫画图片包,文件名自然排序、图片分页与阅读进度保存
MOBI 的 HUFF/CDIC 压缩、KF8 专有排版以及 DRM 内容会返回明确的不支持错误;CBZ 会限制页数和解压体积,避免异常压缩包耗尽设备资源。
Podfile 通过 :path => 'Vendor/RDEpubReaderView' 引用本目录;自动复制工程到其他目录打包时,不再依赖仓库外的 ReadViewSDK 路径。
更新 SDK 时请同步更新本目录中的 Sources/ 与 RDEpubReaderView.podspec,然后执行:
pod install --no-repo-update