小编Ost*_*ich的帖子

SwiftUI [ShareSheet] 连接无效。尝试呈现已经呈现的内容

我正在尝试在我的应用程序中创建一个共享按钮。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)

你能告诉我如何解决这个问题吗?

ios-sharesheet rootviewcontroller swiftui

1
推荐指数
1
解决办法
1411
查看次数