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:
co-authored by
Claude Opus 4.7
parent
4e5600a9ee
commit
52ad421d22
@@ -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 添加微信 OpenSDK(SPM 远程依赖)
|
||||
### A.1 添加微信 OpenSDK(Vendor 手动)
|
||||
|
||||
> 项目方下载的 `WechatOpenSDK-NoPay.xcframework` 已撤出 `Vendor/`;改用 Tencent 官方 SPM 仓库。
|
||||
> Tencent 官方至今未维护 SPM 仓库(`Tencent/WechatOpenSDK-XCFramework` 不存在,404);社区 wrapper(yanyin1986 / 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 × 2(Vendor 手动,无 SPM 替代)
|
||||
|
||||
@@ -210,7 +215,7 @@ bridge.register("prepareaudio") { _, callback in
|
||||
|
||||
| 文件 | 状态 | 说明 |
|
||||
|---|---|---|
|
||||
| SPM `WechatOpenSDK-XCFramework` | ⏳ 待用户在 Xcode Add Package Dependencies | 见 §A.1,Tencent 官方仓库 |
|
||||
| `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 字段 |
|
||||
|
||||
Reference in New Issue
Block a user