SDK 选型修正:微信回 Vendor 路径(Tencent 无官方 SPM)

之前文档把 https://github.com/Tencent/WechatOpenSDK-XCFramework 当作
SPM 入口,实际该仓库不存在(404)。Tencent 官方至今未维护 SPM;社区
wrapper(yanyin1986 / anotheren)非官方,按 daoqi CLAUDE.md ADR-006
「闭源 SDK 走 Vendor」否决。微信改回与 AMap 同款 Vendor .xcframework
处置:

- Vendor/WechatSDK/README.md 重写为腾讯开放平台下载页 + Embed & Sign 说明
- docs/SDK-Integration-Guide.md §A / §A.1 / §1.3 同步修正
  - §A 总览:SPM × 1(七牛)+ Vendor × 2(微信 / 高德)
  - §A.1:重写为 Vendor Add Files 流程,强调 Embed & Sign 与 AMap
    静态库 Do Not Embed 的区别
  - §1.3:微信 xcframework 状态标记  等用户从官方下载放置

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
joywayer
2026-06-23 00:02:45 +08:00
co-authored by Claude Opus 4.7
parent 4e5600a9ee
commit 52ad421d22
2 changed files with 42 additions and 16 deletions
+16 -11
View File
@@ -10,20 +10,25 @@
## A. 用户手动 Xcode 步骤(必做 3 件事)
> **选型偏好**尽量 SPM 远程依赖;只有官方未提供 SPM 的走 Vendor 二进制。
> 当前结果:**微信 + 七牛走 SPM**pbxproj 仅多 2 个 `XCRemoteSwiftPackageReference`,与现有 ZIPFoundation 一致);**高德走 Vendor**(官方未提供 SPM)。
> **选型偏好**官方 SPM 优先;闭源 / 无官方 SPM 的走 Vendor 二进制(社区 SPM wrapper 不计入官方,仓库一旦停更即为定时炸弹,按 daoqi `CLAUDE.md` ADR-006 否决)
> 当前结果:
> - **七牛走官方 SPM**`https://github.com/qiniu/objc-sdk`,活跃维护)
> - **微信走 Vendor**Tencent 不维护官方 SPM;社区 wrapper 风险高,回 Vendor 与 AMap 统一处置)
> - **高德走 Vendor**(官方未提供 SPM
>
> 这 3 件事都是 Xcode UI 操作,无法 AI 自动完成。完成后 `BuildProject` 即激活所有真实路径。
### A.1 添加微信 OpenSDKSPM 远程依赖
### A.1 添加微信 OpenSDKVendor 手动
> 项目方下载的 `WechatOpenSDK-NoPay.xcframework` 已撤出 `Vendor/`;改用 Tencent 官方 SPM 仓库
> Tencent 官方至今未维护 SPM 仓库(`Tencent/WechatOpenSDK-XCFramework` 不存在,404);社区 wrapperyanyin1986 / anotheren)非官方,被否决。改走 Vendor `.xcframework`,与 AMap 同款处置方式
1. Xcode → File → **Add Package Dependencies...**
2. 右上搜索框粘贴:`https://github.com/Tencent/WechatOpenSDK-XCFramework`
3. **Dependency Rule****Up to Next Major Version**`2.0.5`(或更新;避免 1.x 的 ITMS-90809 历史包袱)
4. Add Package → 弹窗里 Library 选 `WechatOpenSDK` → Add Package
5. 确认 ylgamehall target 已勾选
6. ⌘B 编译
**预先准备**:从腾讯开放平台下载 `OpenSDK*_NoPay.zip`(推荐 2.0.5+),解压取出 `WechatOpenSDK.xcframework`,放到 `Vendor/WechatSDK/`。下载页与详细说明见 `Vendor/WechatSDK/README.md`
1. 选中 `ylgamehall` Target → General → Frameworks, Libraries, and Embedded Content
2.`+` → Add Other → Add Files
3.`Vendor/WechatSDK/WechatOpenSDK.xcframework`
4. **Embed** 列选 **Embed & Sign**xcframework 是动态库,与下面 AMap 的 `Do Not Embed` 不同,别错)
5. ⌘B 编译
### A.2 添加高德定位 framework × 2Vendor 手动,无 SPM 替代)
@@ -210,7 +215,7 @@ bridge.register("prepareaudio") { _, callback in
| 文件 | 状态 | 说明 |
|---|---|---|
| SPM `WechatOpenSDK-XCFramework` | ⏳ 用户在 Xcode Add Package Dependencies | 见 §A.1Tencent 官方仓库 |
| `Vendor/WechatSDK/WechatOpenSDK.xcframework` | ⏳ 用户放置 | 项目方从腾讯开放平台下 `OpenSDK2.0.5+_NoPay.zip` 解压 → 放进 `Vendor/WechatSDK/` → 按 §A.1 Embed & Sign |
| `Source/SDK/WeChat/WeChatSDK.swift` | ✅ 已写 | `register()` + `handleOpenURL` 包 canImport |
| `Source/SDK/WeChat/WeChatManager.swift` | ✅ 已写 | authorize / shareLink async wrapper + WXApiDelegate |
| `Source/Login/WeChatAuth.swift` | ✅ 已写 | OAuth2 客户端直拼 sns/oauth2 + userinfo + 7 字段 |