docs: add codebase map

This commit is contained in:
shen
2026-05-21 20:36:12 +08:00
parent faa069ec99
commit 4daa3a6ed4
7 changed files with 764 additions and 0 deletions
+82
View File
@@ -0,0 +1,82 @@
# 技术栈
**分析日期:** 2026-05-21
## 语言
**主要语言:**
- SwiftPodspec 声明 Swift 5.10)— SDK 实现在 `Sources/RDReaderView/**/*.swift`,示例 App 在 `ReadViewDemo/ReadViewDemo/*.swift`
**次要语言:**
- Objective-C — 主要来自示例工程 vendored 的 CocoaPods 依赖源码 `ReadViewDemo/Pods/**`(例如 DTFoundation/DTCoreText)。
## 运行环境
**平台:**
- iOS — 最低 iOS 15.xSDK 声明 iOS 15.0Demo/Podfile 常见为 15.6)。
**使用到的 Apple Framework(不完全列举):**
- UIKit — `Sources/RDReaderView/**` 内的 UI 与控制器实现。
- WebKit — EPUB Web 渲染相关配置见 `Sources/RDReaderView/EPUBCore/RDEPUBWebView+Configuration.swift`
- CoreText — 文本分页/渲染支持(`Sources/RDReaderView/EPUBTextRendering/**`)。
- Foundation — 文件系统/持久化等基础能力(`Sources/RDReaderView/**`)。
## 依赖管理
**CocoaPods**
- SDK 以 Podspec 形式发布:`RDReaderView.podspec`
- 示例工程通过 CocoaPods 集成:`ReadViewDemo/Podfile``ReadViewDemo/Podfile.lock`
- Lockfile 记录的 CocoaPods 版本:1.16.2`ReadViewDemo/Podfile.lock`)。
**未检测到:**
- Swift Package Manager(未发现 `Package.swift`
- Carthage(未发现 `Cartfile`
## 框架与第三方库
**核心库(本仓库):**
- `RDReaderView`(阅读器 UI + EPUB/TXT 阅读能力)— `Sources/RDReaderView/**`
**Pod 声明的第三方依赖:**
- `ZIPFoundation (~> 0.9)` — EPUB 压缩包读取/解压与解析。
- `DTCoreText` — HTML → NSAttributedString 渲染(在 `#if canImport(DTCoreText)` 条件下使用)。
- `SnapKit` — Auto Layout 约束封装。
- `SSAlertSwift` — 弹窗/提示 UI 工具。
## 构建与开发工具
**Xcode 工程(示例 App):**
- Workspace/Project`ReadViewDemo/ReadViewDemo.xcworkspace``ReadViewDemo/ReadViewDemo.xcodeproj`
**CocoaPods post_install 构建设置(仓库内配置):**
- 在 Pods 与用户工程上统一设置 `IPHONEOS_DEPLOYMENT_TARGET = 15.6``ENABLE_USER_SCRIPT_SANDBOXING = NO` — 见 `Podfile``ReadViewDemo/Podfile`
## 资源与素材
**资源 bundle**
- Podspec 声明了 `RDReaderViewAssets` 资源 bundle,来源为 `Sources/RDReaderView/Resources/**``RDReaderView.podspec`)。
## 平台要求
**开发:**
- 需要 macOS + XcodeiOS SDK)构建 Demo workspace/project`ReadViewDemo/ReadViewDemo.xcworkspace`)。
- 需要 CocoaPods 安装 Demo 依赖(`ReadViewDemo/Podfile.lock` 体现了 CocoaPods 使用)。
**发布/分发:**
- 以 CocoaPod 形式分发(`RDReaderView.podspec`)。
## Evidence(关键证据)
检查过的关键文件:
- `RDReaderView.podspec`
- `Podfile`
- `ReadViewDemo/Podfile`
- `ReadViewDemo/Podfile.lock`
- `ReadViewDemo/ReadViewDemo.xcodeproj/project.pbxproj`
- `Sources/RDReaderView/EPUBCore/RDEPUBWebView+Configuration.swift`
- `Sources/RDReaderView/EPUBCore/RDEPUBParser+Archive.swift`
- `Sources/RDReaderView/EPUBTextRendering/RDEPUBDTCoreTextRenderer.swift`
---
*技术栈分析:2026-05-21*