// // WeChatSDK.swift // ylgamehall // // 微信 OpenSDK 启动注册。沿用 msext AppID(参 docs/SDK-Integration-Guide.md §0 凭证总表)。 // // ⚠️ canImport(WechatOpenSDK) 守卫:在 Vendor/WechatSDK/WechatOpenSDK.xcframework // 尚未在 Xcode 中 "Frameworks, Libraries, and Embedded Content" 里 Embed & Sign 之前, // 本文件编译为 no-op,不影响主工程编译。Embed 后自动激活真实路径。 // import Foundation #if canImport(WechatOpenSDK) import WechatOpenSDK #endif @MainActor public enum WeChatSDK { /// 微信 AppID(沿用 msext SGDefineInfo.h:105 kAuthOpenID) public static let appID = "wx586a9b321e56efb7" /// 启动注册:在 AppDelegate.didFinishLaunchingWithOptions 调用一次。 /// universalLink 沿用 msext 路径不走 ULAPI,传空字符串即可(与 msext 行为等价)。 public static func register() { #if canImport(WechatOpenSDK) // 不走 Universal Links(msext 同款路径,企业签 / 超签分发场景 ULAPI 无意义) WXApi.registerApp(appID, universalLink: "") #else // SDK 未链接:no-op。Xcode 加完 framework 后这条分支会被替换为上面 WXApi 调用。 #endif } /// SceneDelegate.openURLContexts 转发入口(QQ → WXApi 顺序,QQ 必须先判 — msext 硬约束) public static func handleOpenURL(_ url: URL) -> Bool { #if canImport(WechatOpenSDK) return WXApi.handleOpen(url, delegate: WeChatManager.shared) #else return false #endif } }