如何在swiftUI中获得类似appdelegate的东西
Posted
技术标签:
【中文标题】如何在swiftUI中获得类似appdelegate的东西【英文标题】:How to get appdelegate like thing in swiftUI 【发布时间】: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 中这种事情有什么方法。
如果我能得到一些相同的指针或代码,那将是非常有帮助的。
感谢您的帮助
【问题讨论】:
这能回答你的问题吗? Using UIApplicationDelegateAdaptor to get callbacks from userDidAcceptCloudKitShareWith not working mokacoding.com/blog/… 【参考方案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()
【讨论】:
以上是关于如何在swiftUI中获得类似appdelegate的东西的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 UIViewControllerRepresentable 在 SwiftUI 中呈现 UICollectionView