错误“ [[ShareSheet]”连接无效”错误,iOS13 +,但不是iOS 11.4

时间:2019-12-21 06:14:38

标签: swift xcode ios-sharesheet

我想使用共享表共享文件,并编写了似乎运行良好的代码。但是我一直在日志中看到这些错误消息(使用Xcode 11.3)

[ShareSheet] connection invalidated

我正在测试两个物理设备;运行iOS 13.1.2的iPad和运行11.4的iPhone 6。在装有旧版iOS的iPhone上,我看不到这些消息。两种情况下,共享似乎都可以正常工作。这是我使用文本而不是文件的代码:

let activityViewController = UIActivityViewController(activityItems: ["simple text for test"], applicationActivities: nil)
activityViewController.excludedActivityTypes = [.message, .airDrop]
activityViewController.popoverPresentationController?.sourceView = self.view            
self.present(activityViewController, animated: true, completion: nil)

当共享页消失时(该消息是由于用户完成了一项操作,或者是在其外部点击以取消),该消息就会显示。

忽略这些消息是否安全?奇怪的是,它们没有出现在较旧的操作系统中,但出现在新的操作系统中。

2 个答案:

答案 0 :(得分:6)

我知道了

[ShareSheet]连接无效

在iOS 13.x的Xcode输出日志中,共享表被压缩并且其中没有任何按钮。

要解决此问题,请将您的sourceView分配给比self.view更具体的内容

就我而言,我在视图顶部附近有一些UILabels,因此我将sourceView设置为其中之一。例如,在我的父视图控制器中,我有一个名为UILabel的{​​{1}},所以我使用了它:

labelCustomerName

答案 1 :(得分:2)

对我来说,当我添加基于Apple developer documentation的代码时,此问题就解决了。

activityViewController.isModalInPresentation = true

顺便说一句,即使按下活动的关闭按钮,它仍然会显示该消息。