2016-05-29 6 views
1

Ich verfüge über eine Sandbox-OS X-App, mit der Dateien über Finder-Dienste und die Option "Öffnen mit ..." über Kontextmenüs geöffnet werden können. Ich habe eine andere Sandbox-App erstellt, die kompatible Dateien an die erste App senden soll.OS X Senden von Daten an eine andere App

Wie kann ich programmgesteuert eine Aktion "Öffnen mit" ausführen? Ich könnte auch eine Service-Interaktion nutzen. Ist das überhaupt möglich? Ich glaube, ich könnte ein URL-Schema in meiner ersten App registrieren, aber ich würde es vorziehen, die kein Update freigeben, wenn alles auf Absender App getan werden kann

Thx

+0

Warum verwenden Sie keinen einfachen Unix-Socket für die Datenkommunikation zwischen den beiden Prozessen? – Zohar81

+0

Ich hatte den Eindruck, dass ein Open mit Aktion eine einfache Aufgabe war. Wie gesagt, ich möchte vermeiden, die empfangende App zu ändern. – rmvz3

Antwort

0

Wenn Sie nur eine normale Datei öffnen möchten, dann nehmen Sie einen Blick auf

[[NSWorkspace sharedWorkspace] openFile:@"/path/to/file" withApplication:@"YourApp"]; 

Sie es here in the documentation finden.

+0

Oh Mann, das ist peinlich: D Ich kann nicht glauben, dass ich es verpasst habe. Vielen Dank. Ihre Antwort ist korrekt (es sollte '[NSWorkspace sharedWorkspace]' tho) sein, aber diese Methode erlaubt nur das Senden einer einzelnen Datei. Ich habe beendet mit ' openURLs: mitAppBundleIdentifier: Optionen: additionalEventParamDescriptor: launchIdentifiers:' stattdessen, um eine Reihe von Dateien zu übergeben. Vielen Dank. – rmvz3

+0

oh yeah du hast Recht, ich habe meine Antwort bearbeitet – thomasguenzel