docs:依赖管理改为纯 SPM + Vendor,移除 CocoaPods(ADR-006)

调研发现 Qiniu SDK 已官方支持 SPM(https://github.com/qiniu/objc-sdk
v8.9.x),AMap 仍仅支持 CocoaPods 或手动 XCFramework;CocoaPods 1.15.2
不兼容 Xcode 26 的 PBXFileSystemSynchronizedRootGroup,需绕道 Bundler
才能升到 1.16+。综合性价比决定不引入 CocoaPods 工具链,所有闭源 SDK
(含 AMap)统一走 Vendor .xcframework 手动接入。

- Design §14.1 三层策略改写为两层(SPM + Vendor),新增 Vendor 接入
  标准流程 6 步法
- Design §14.2 AMap 接入方式从 CocoaPods 改为 Vendor,Qiniu 标注 SPM
  URL 与版本
- Plan §2.3 / §5 Phase 5.1 / §6.1 / §8 同步 AMap Vendor 化
- Plan 新增 ADR-006 完整决策记录
- CLAUDE.md 新增「依赖管理约定」节,禁止引入 CocoaPods
This commit is contained in:
joywayer
2026-06-21 21:46:19 +08:00
parent 2a3d985dd7
commit 17a8b96cf8
3 changed files with 74 additions and 21 deletions
+11
View File
@@ -34,6 +34,17 @@ daoqi 仓库当前并存两条工作线:
---
## 依赖管理约定
新项目采用**纯 SPM + Vendor `.xcframework` 两层管理****禁止引入 CocoaPods**(详见 `docs/Development-Plan.md` ADR-006)。
- **首选 SPM**:开源 / 官方提供 Swift Package 的库(Sentry / ZIPFoundation / 七牛 `https://github.com/qiniu/objc-sdk` v8.9.x 等)
- **Vendor `.xcframework` 手动**:所有闭源二进制(微信 / QQ / 高德 AMap / opencore-amr 等),按 Design §14.1「Vendor 接入标准流程」放 `Vendor/<SDKName>/` + Target → General → Frameworks 加入 + `Vendor/<SDKName>/README.md` 记录版本与来源
- **禁止 CocoaPods**:项目内不放 `Podfile` / `Podfile.lock` / `Pods/` / `.xcworkspace`。工程入口固定为 `ylgamehall.xcodeproj`
- **新增第三方依赖时**:按 SPM → Vendor 顺序尝试,PR 描述写明选型理由;若发现某 SDK 既无 SPM 又无 XCFramework,回到 ADR-006 决策框架重新评估
---
## Resources/ 目录约定
仓库根目录的 `Resources/` 是新外壳运行所需的**项目方提供资源**统一入库位置,由打包脚本在 Build Phase 引入,**不**直接放进 Xcode 工程内的 `ylgamehall/` 源码目录。