Fehler "[ShareSheet] -Verbindung ungültig" Fehler iOS13 +, jedoch nicht unter iOS 11.4

8

Ich möchte eine Datei mithilfe des Freigabeblatts freigeben und habe Code geschrieben, der anscheinend einwandfrei funktioniert. Ich sehe diese Fehlermeldungen jedoch immer wieder im Protokoll (mit Xcode 11.3).

[ShareSheet] connection invalidated

Ich habe zwei physische Geräte, auf denen ich teste. ein iPad mit iOS 13.1.2 und ein iPhone 6 mit 11.4. Ich sehe diese Nachrichten auf dem iPhone mit dem älteren iOS nicht. In beiden Fällen scheint das Teilen gut zu funktionieren. Hier ist der Code, den ich verwende, indem ich Text anstelle einer Datei verwende:

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

Die Meldung wird angezeigt, wenn das Freigabeblatt ausgeblendet wird (entweder weil der Benutzer eine Aktion abschließt oder wenn er zum Abbrechen außerhalb tippt).

Ist es sicher, diese Nachrichten zu ignorieren? Es ist nur seltsam, dass sie im älteren Betriebssystem nicht aufgetaucht sind, sondern im neuen.

Bearbeitet am 20. März 2020: Ich habe bestätigt, dass ich eine gültige Quelle oder ein gültiges barButtonItem angegeben habe. Ich habe den Code so geändert, dass er dem entspricht, in dem ich ein UIBarButtonItem verwende, und ich sehe immer noch den ungültigen Fehler der ShareSheet-Verbindung.

NW
quelle
1
Ich habe das gleiche Problem. Und einige Benutzer behaupten, dass das Freigabeblatt nicht angezeigt wird. Aber mein Testgerät funktioniert gut.
Kimi Chiu

Antworten:

1

ich habe

[ShareSheet] -Verbindung ungültig

im Xcode-Ausgabeprotokoll unter iOS 13.x, und das Freigabeblatt wurde gequetscht und enthielt keine Schaltflächen.

Um dies zu beheben, weisen Sie Ihre Funktion sourceViewetwas Spezifischerem zu alsself.view

In meinem Fall hatte ich einige UILabelsin der Nähe meiner Sicht, also stellte ich meine sourceViewauf eine davon ein. Zum Beispiel hatte ich in meinem übergeordneten Ansichts-Controller einen UILabelNamen, labelCustomerNamealso habe ich diesen verwendet:

activityViewController.popoverPresentationController?.sourceView = self.labelCustomerName
Phill Z.
quelle
Ich habe das gequetschte Fenster auch gesehen, wenn ich ihm keinen bestimmten Knopf gebe. Ich habe mein Beispiel so geändert, dass es korrekt ist (ich habe ein barButtonItem verwendet und den falschen Code eingefügt). Der Fehler "Verbindung zum Share Sheet" wird weiterhin ungültig.
NW
0

Für mich wurde es gelöst, als ich diesen Code basierend auf der Apple-Entwicklerdokumentation hinzufügte .

activityViewController.isModalInPresentation = true

Übrigens scheint es, als würde diese Meldung auch dann angezeigt, wenn Sie die Schaltfläche zum Schließen für die Aktivität drücken.

carlosobedgomez
quelle