如何在 swiftUI 中获得类似 appdelegate 的东西

How to get appdelegate like thing in swiftUI

我正在将我的 UIKit 应用程序转换为 SwiftUI 应用程序,在我的 UIKit 项目中,我将一些 url 传递给 webview 并获得一些结果(动态 url),然后在下面的 appdelegate 方法中调用

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {

但我想在 SwiftUI 中实现同样的东西,但不确定在 SwiftUI 中有什么方法可以实现这种东西。

如果我能得到一些指导或代码,那将是很大的帮助。

感谢您的帮助

您可以创建一个符合 UIApplicationDelegate 的自定义 class,然后使用 @UIApplicationDelegateAdaptor 将其告知您的 SwiftUI 应用程序:

class MyAppDelegate: NSObject, UIApplicationDelegate {
  func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
    // your code here
  }
}

@main
struct MyApp: App {
    @UIApplicationDelegateAdaptor(MyAppDelegate.self) var appDelegate

    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}