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

3.4 KiB
Raw Blame History

外部集成

分析日期: 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.swiftSources/RDReaderView/EPUBUI/RDEPUBReaderPersistence.swiftSources/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 = NOIPHONEOS_DEPLOYMENT_TARGET = 15.6PodfileReadViewDemo/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.swiftSources/RDReaderView/EPUBCore/RDEPUBJavaScriptBridge.swift

CI/CD 与部署

CI 流水线:

  • 未检测到(未发现 .github/ 或常见 CI 配置文件)。

部署:

  • 未检测到 App 部署流水线;仓库形态为 iOS SDK + Demo AppRDReaderView.podspecReadViewDemo/)。

环境配置

必须的环境变量:

  • 未检测到(未发现 .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