ReadViewSDK/.planning/codebase/INTEGRATIONS.md
2026-05-21 20:36:12 +08:00

91 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 外部集成
**分析日期:** 2026-05-21
## API 与外部服务
**网络 / Web 服务:**
- 在 SDK 源码(`Sources/RDReaderView/**`)中未检测到:未发现 `URLSession` 使用,也未发现常见第三方网络 SDK。
**托管服务 SDK统计/崩溃/广告/支付):**
- 在仓库源码中未检测到:未发现 Firebase、Sentry、Mixpanel/Segment/Amplitude、AppCenter 等。
## 数据存储
**数据库:**
- 未检测到(`Sources/RDReaderView/**` 中未发现 Core Data / SQLite / Realm / GRDB 使用)。
**文件存储(本地文件系统):**
- EPUB 解压使用 `FileManager`,将解压内容存放在 app caches 或临时目录下,并使用“确定性签名”目录名 — `Sources/RDReaderView/EPUBCore/RDEPUBParser+Archive.swift`
**偏好 / 轻量持久化:**
- 使用 `UserDefaults` 保存设置/状态(例如 debug 开关、阅读器状态快照)— `Sources/RDReaderView/EPUBCore/RDEPUBWebViewDebug.swift`、`Sources/RDReaderView/EPUBUI/RDEPUBReaderPersistence.swift`、`Sources/RDReaderView/LegacyRDReaderController/RDReaderController.swift`。
## 认证与身份
- 不适用(未检测到认证提供方或身份流程)。
## 监控与可观测性
**错误追踪 / 崩溃上报:**
- 未检测到(无 Crashlytics/Sentry 等)。
**日志:**
- 存在用于 EPUB WebView 调试的本地 debug 日志工具 — `Sources/RDReaderView/EPUBCore/RDEPUBWebViewDebug.swift`
## 构建期集成
**CocoaPods**
- SDK 作为 CocoaPod 发布并声明外部依赖 — `RDReaderView.podspec`
- 示例 App 通过本地 `:path => '..'` 引用该 Pod — `ReadViewDemo/Podfile`
- 仓库根 `Podfile` 也声明了 `RDReaderView` 的本地 path 依赖,并设置共享构建参数覆盖 — `Podfile`
**构建设置覆盖:**
-`post_install` 中统一设置 `ENABLE_USER_SCRIPT_SANDBOXING = NO`、`IPHONEOS_DEPLOYMENT_TARGET = 15.6` — `Podfile`、`ReadViewDemo/Podfile`。
## 渲染 / 内嵌 Web 内容
**WKWebView 集成:**
- 使用 `WKWebViewConfiguration` 并设置 `websiteDataStore = .nonPersistent()`;注册自定义 URL scheme handler 以服务 EPUB 资源 — `Sources/RDReaderView/EPUBCore/RDEPUBWebView+Configuration.swift`
- 注入 user script并注册 script message handler 实现 JavaScript bridge — `Sources/RDReaderView/EPUBCore/RDEPUBWebView+Configuration.swift`、`Sources/RDReaderView/EPUBCore/RDEPUBJavaScriptBridge.swift`。
## CI/CD 与部署
**CI 流水线:**
- 未检测到(未发现 `.github/` 或常见 CI 配置文件)。
**部署:**
- 未检测到 App 部署流水线;仓库形态为 iOS SDK + Demo App`RDReaderView.podspec`、`ReadViewDemo/`)。
## 环境配置
**必须的环境变量:**
- 未检测到(未发现 `.env*` 使用,也未发现 `Sources/RDReaderView/**` 中读取环境变量的代码)。
**密钥存放:**
- 基于当前仓库内容检查结果:不适用。
## Webhooks 与回调
**入站:**
- 未检测到。
**出站:**
- 未检测到。
## Evidence关键证据
检查过的关键文件:
- `RDReaderView.podspec`
- `ReadViewDemo/Podfile`
- `ReadViewDemo/Podfile.lock`
- `Podfile`
- `Sources/RDReaderView/EPUBCore/RDEPUBParser+Archive.swift`
- `Sources/RDReaderView/EPUBCore/RDEPUBWebView+Configuration.swift`
- `Sources/RDReaderView/EPUBCore/RDEPUBJavaScriptBridge.swift`
- `Sources/RDReaderView/LegacyRDReaderController/RDReaderController.swift`
---
*外部集成审计2026-05-21*