如何在 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()
}
}
}
我正在将我的 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()
}
}
}