【问题标题】:How to get appdelegate like thing in swiftUI如何在swiftUI中获得类似appdelegate的东西
【发布时间】:2021-07-21 15:46:19
【问题描述】:
我正在将我的 UIKit 应用程序转换为 SwiftUI 应用程序,在我的 UIKit 项目中,我将一些 url 传递给 webview 并获得一些结果(动态 url),然后调用下面的 appdelegate 方法
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
但我想在 SwiftUI 中实现同样的事情,但不确定在 SwiftUI 中这种事情有什么方法。
如果我能得到一些相同的指针或代码,那将是非常有帮助的。
感谢您的帮助
【问题讨论】:
标签:
ios
swift
swiftui
appdelegate
【解决方案1】:
您可以创建一个符合UIApplicationDelegate 的自定义类,然后使用@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()
}
}
}