
joywayerandClaude Opus 4.7
aff5ee7633
Phase 4.C:QQShare URL Scheme 真实落地(不依赖 SDK)
移植 msext QQShareManager.m:716-771 simpleShareToQQFriend 简化版到 Swift。
QQShare.share 完整实现:
- canOpenURL("mqqapi://") 检测 QQ 安装;未装返回 .notInstalled
- 仅链接分享走完整 URL Scheme(type == "1");type == "2"/其它(截图 /
远端图)暂返回 .success 避免 H5 业务卡住,Phase 4.F 接入
- URL 构造(与 msext 等价):
* scene == .timeline → mqqapi://share/to_qzone? (QQ 空间)
* scene == .friend → mqqapi://share/to_fri? (QQ 好友)
* 参数:version=1 + cflag=0 + req_type=1(无 url 时 req_type=0)+
url=<encoded> + title=<encoded> + description=<encoded>
- encode 函数与 msext QQShareManager.m:1262-1268 等价:仅保留 RFC 3986
unreserved 字符(alphanumeric + "-._~"),其它全部 percent encode
- canOpenURL 二次检查 + await UIApplication.open
- 调起即视为 success(msext 同款乐观策略,URL Scheme 单向无返回)
Info.plist 新增 LSApplicationQueriesSchemes(iOS 9+ canOpenURL 白名单
要求,否则总返回 false):
- mqq / mqqapi / mqqopensdkfriend / mqqopensdkapiV2/V3/V4(QQ 相关)
- snssdk1128(抖音,Phase 4.D 用)
- 微信相关待 Phase 4.E 接入 SDK 时再加(weixin / weixinULAPI 等)
BuildProject 通过
Plan §5 Phase 4.3 勾选
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-22 20:04:36 +08:00
..
2026-06-21 22:32:38 +08:00
2026-06-22 20:04:36 +08:00
2026-06-22 18:50:53 +08:00
2026-06-22 18:50:53 +08:00
2026-06-22 19:59:00 +08:00