Ausgewählten Text von Safari über iOS 8 Action Extension an die installierte App senden?

8

Kann ich eine iOS 8 Action Extension verwenden, um einen ausgewählten Text vom Safari-Browser an eine installierte App zu senden? Ich denke über diesen Workfow nach: Der Benutzer würde einen Text in einer Website auswählen & gt; auf das Share-Symbol tippen & gt; die installierte App (nicht nur der Freigabe-Dialog) wird mit dem ausgewählten Text geöffnet.

    
Tom 18.03.2015, 12:13
quelle

3 Antworten

2

Da alle Erweiterungen auf dem iPhone wie mit der Haupt-App ausgeführt werden. Sie können etwas wie App-Gruppe verwenden, um die Informationen zu teilen.

Sie müssen also die App Group-Funktion in beiden Zielen aktivieren und Informationen mit UserDefault (suiteName :) teilen oder das gemeinsame Containerdateiverzeichnis verwenden (bei gemeinsam genutzten Containern benötigen Sie möglicherweise einen Dateikoordinator, damit 2 Prozesse die Datei nicht verwenden Zeit).

Wenn beide Prozesse ausgeführt werden, können Sie darüber hinaus mithilfe der Darwin-Benachrichtigung dem anderen mitteilen, dass neue Informationen aktualisiert wurden.

    
user3349433 27.05.2017 08:58
quelle
1

Ich denke, was du versuchst zu tun ist:

  1. Wählen Sie den Text auf der Website
  2. Klicken Sie auf die Schaltfläche Teilen in der Symbolleiste unten in Safari
  3. Öffnen Sie Ihre App mit dem ausgewählten Text, der an ein userInfo-Wörterbuch
  4. angehängt ist

Leider denke ich, dass das nicht möglich ist. Sie können eine Erweiterung erstellen, um den ausgewählten Text zu akzeptieren. Die App wird jedoch nicht vollständig geöffnet, sondern nur durch die Erweiterung.

Das Problem ist, dass es beim Markieren von Text in Safari keine "Öffnen in ..." -Auswahl gibt (im Vergleich zum Beispiel "Öffnen in ...", wenn Sie eine Datei in der Dropbox-App auswählen) / p>

Soweit ich die Funktionalität verstehe (und um ehrlich zu sein, habe ich nicht zu weit hinein gegraben, damit ich falsch liege), wenn Sie in Safari auf das Freigabe-Menü klicken (sei es das aus der schwarzen Popup-Blase) Wenn Sie den Text oder die Schaltfläche aus der unteren Symbolleiste auswählen, wird eine "einmalige" Erweiterung ausgelöst, mit der Sie eine bestimmte Aktion ausführen können (z. B. Senden der Auswahl über Nachrichten, E-Mail oder Einfügen in Ihre Notizen). Nachdem die Erweiterung ausgeführt wurde, kehrt sie dorthin zurück, wo sie gefeuert wurde (was Safari bedeutet).

Auch dies unterscheidet sich von der Funktion "Öffnen in ...", für die Sie benutzerdefinierte URL-Schemas implementieren müssen, auf die Ihre App achten soll. Aber das funktioniert nicht mit einfacher Textauswahl. Es würde ein echtes URL-Schema benötigen.

Vielleicht hilft Ihnen diese Frage, ein besseres Verständnis zu bekommen: iOS Share vs Action App Extension

Zusammenfassend: Was Sie versuchen, ist unter iOS wahrscheinlich nicht möglich.

Mögliche Idee: Sie könnten irgendwie versuchen, der sharing-Erweiterung eine Schaltfläche hinzuzufügen, die ein benutzerdefiniertes URL-Schema mit dem ausgewählten Text generiert und das System auffordert, die URL zu öffnen, aber ich kann mir vorstellen, dass dies nicht wirklich funktioniert >     

xxtesaxx 31.05.2017 17:57
quelle
0

Sie müssen NSExtensionActivationSupportsWebURLWithMaxCount aktivieren, um die Erweiterung in Safari verfügbar zu machen.

Wenn Sie aus der Vorlage ein Ziel für die Erweiterung einer Nicht-UI-Aktion erstellen, wird automatisch eine Action.js-Datei erstellt. Bearbeiten Sie die Datei, um den ausgewählten Text mit

zurückzusenden %Vor%

Quelle

    
Damian Lattenero 01.06.2017 18:26
quelle

Tags und Links