
joywayerandClaude Opus 4.7
624dd93c65
修复微信授权无响应:authorize 改用 sendAuthReq:viewController:delegate:
H5 调 accreditlogin 后无反应。对照 daoqi msext 找到根因:
msext NewRootVC.m → WXApiRequestHandler.m:sendAuthRequestScope: 用的是
`[WXApi sendAuthReq:req viewController:vc delegate:[WXApiManager sharedManager]]`
(新版 SDK 2.x 推荐路径,传 viewController + delegate)。
而 ylgamehall 之前用 `WXApi.send(req)`——旧版 1.x 方法,新版头里已无声明,
不传 viewController(SDK 无法弹起微信 modal context)+ 不传 delegate
(SDK 不知道往哪发回包)= H5 调了无反应。
修复:
- authorize:改用 `WXApi.sendAuthReq(_:viewController:delegate:completion:)`,
传当前最顶层 VC(新增 topmostViewController() helper:connectedScenes →
foregroundActive windowScene → keyWindow.rootVC → 穿过 presented / nav.visible)
+ self(WXApiDelegate)。completion 处理拉起失败立即 fail continuation。
- shareLink / shareImage:从旧 send 改新 `WXApi.send(_:completion:)`
(sendReq:completion: 的 Swift 桥名)。分享回包仍由 SceneDelegate
openURL → WXApi.handleOpen(url:delegate:WeChatManager.shared) → onResp
路径接收,不需要在 send 时再传 delegate。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-23 07:33:58 +08:00
..
2026-06-23 01:03:29 +08:00
2026-06-23 07:33:58 +08:00