diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift
index 626664468..e04182a8a 100644
--- a/ios/Runner/AppDelegate.swift
+++ b/ios/Runner/AppDelegate.swift
@@ -10,4 +10,34 @@ import UIKit
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
+
+ // 添加URL回调监听
+ override func application(
+ _ app: UIApplication,
+ open url: URL,
+ options: [UIApplication.OpenURLOptionsKey : Any] = [:]
+ ) -> Bool {
+ print("AppDelegate收到URL回调: \(url.absoluteString)")
+
+ // 首先尝试让父类处理
+ if super.application(app, open: url, options: options) {
+ return true
+ }
+
+ // 检查是否是VoiTrans相关的URL
+ if url.scheme == "voitrans" {
+ print("处理 voitrans URL: \(url.absoluteString)")
+
+ // 通过Flutter的方法通道通知QQ音乐插件处理这个URL
+ if let flutterViewController = window?.rootViewController as? FlutterViewController {
+ let channel = FlutterMethodChannel(name: "qq_music", binaryMessenger: flutterViewController.binaryMessenger)
+ channel.invokeMethod("openUrl", arguments: ["url": url.absoluteString]) { result in
+ print("QQ音乐插件处理URL结果: \(String(describing: result))")
+ }
+ }
+ return true
+ }
+
+ return false
+ }
}
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index b5414571d..f840f7ef3 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -46,6 +46,14 @@
com.saitong.voitrans
+
+ CFBundleURLName
+ com.saitong.voitrans.qqmusic
+ CFBundleURLSchemes
+
+ voitrans
+
+
CFBundleVersion
$(FLUTTER_BUILD_NUMBER)
diff --git a/local_plugins/qq_music/ios/qq_music/Sources/qq_music/QPlayAutoManager.swift b/local_plugins/qq_music/ios/qq_music/Sources/qq_music/QPlayAutoManager.swift
index b4d9e6e9a..886cef1e8 100644
--- a/local_plugins/qq_music/ios/qq_music/Sources/qq_music/QPlayAutoManager.swift
+++ b/local_plugins/qq_music/ios/qq_music/Sources/qq_music/QPlayAutoManager.swift
@@ -172,7 +172,7 @@ import QPlayAutoSDK
withName: "VoiTrans",
brand: "SaiTong",
deviceId: deviceId,
- scheme: "qqmusic",
+ scheme: "voitrans://qqmusic",
appId: Self.OPENID_APPID,
secretKey: Self.OPENID_APP_PRIVATE_KEY,
bundleId: bundleId