我正在尝试在我的应用程序中创建一个共享按钮。SwiftUi 上的应用程序,Xcode 版本 13.2.1,iPhone 15.2
如果我使用这段代码:
let url = URL(string: "https://example.com")
let activityController = UIActivityViewController(activityItems: [url!], applicationActivities: nil)
UIApplication.shared.windows.first?.rootViewController!.present(activityController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
这是错误:
[演示] 尝试在 < TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier _: 0x7feb16a05430> 上呈现 <UIActivityViewController: 0x7feb1600e600> (来自 < TtGC7SwiftUI19UIHostingControllerGVS_15ModifiedContentVS_7AnyViewVS_12RootModifier _: 0x7feb16a05430>) 已经呈现 < TtGC7SwiftUI29PresentationHostingControllerVS_7AnyView : 0x7feb05f142e0>。
我知道它已经呈现,但我不明白你如何绕过它。
如果我使用以下组合:
如果我添加一个.presentedViewController?得到这个组合后,共享按钮可以工作,但仅在 iPhone 上并且控制台中存在很多错误,在 iPad 上应用程序完全崩溃。
UIApplication.shared.windows.first?.rootViewController!.presentedViewController?.present(activityController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何解决这个问题吗?