# 外部集成 **分析日期:** 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*