Browse Source

上传qq音乐授权后自动回跳到自己的应用上

weicu
liwei1dao 1 year ago
parent
commit
1bdb7e24ec
  1. 30
      ios/Runner/AppDelegate.swift
  2. 8
      ios/Runner/Info.plist
  3. 2
      local_plugins/qq_music/ios/qq_music/Sources/qq_music/QPlayAutoManager.swift

30
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
}
}

8
ios/Runner/Info.plist

@ -46,6 +46,14 @@
<string>com.saitong.voitrans</string>
</array>
</dict>
<dict>
<key>CFBundleURLName</key>
<string>com.saitong.voitrans.qqmusic</string>
<key>CFBundleURLSchemes</key>
<array>
<string>voitrans</string>
</array>
</dict>
</array>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>

2
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

Loading…
Cancel
Save