Der Automator-Dienst wird nicht im Dienstemenü angezeigt

Ich weiß so gut wie nichts über OS X, aber ich wurde gebeten, ein paar verschiedene Skripte für Aktionen in Apple Mail zu erstellen. Eine besteht darin, einen Hotkey zu binden, der eine Erinnerung mit einer Nachlaufzeit von zwei Werktagen erstellt.

Ich habe eine Anleitung befolgt, wie man das Skript erstellt und in Automator einfügt, die hier zu finden ist . Das Skript funktioniert, wenn es in der AppleScript-Anwendung ausgeführt wird, und wird in Automator kompiliert und ausgeführt. Der von Automator generierte Dienst/Workflow wird unter ~/Library/Services/ gespeichert, aber nicht im Dienstemenü in Apple Mail angezeigt. Dieser Artikel besagt, dass sich Dienste für Apple Mail im Ordner „/System/Library/Automator“ befinden sollten. Ich kann den Dienst nicht in diesen Ordner verschieben, da der Ordner gesperrt ist. Der Dienst ist so eingestellt, dass er keine Eingaben hat und sich in der E-Mail-Anwendung befindet.

Wie kann ich diesen Workflow/Dienst dazu bringen, im Menü der Mac-Mail-Dienste angezeigt zu werden?

Antworten (4)

Je nachdem, wie Ihr Skript konfiguriert ist, muss für jeden Dienst standardmäßig ein Element ausgewählt/hervorgehoben sein (in Ihrem Fall eine E-Mail), da sie kontextsensitiv sind.
Sie können dieses Verhalten deaktivieren, indem Sie das Dropdown-Feld „Dienst empfängt“ ändern und „keine Eingabe“ auswählen. Dies gilt natürlich nur, wenn Ihr Skript Eingaben selbst holt oder nicht benötigt.

Wenn Sie keine Eingabe auswählen, kann der Dienst ausgeführt werden, ohne dass ein Element ausgewählt werden muss

Leider scheint es seltsame Probleme zu geben, wenn Dienste Leerzeichen und/oder Zahlen in ihrem Namen haben.
Wie von @gerlos angegeben, sollte das Umbenennen das Problem lösen, aber möglicherweise ist ein Neustart erforderlich (was bei mir der Fall war).

Als Extra;
Wenn Ihnen der Name des neuen Dienstes jetzt nicht gefällt, können Sie ihn ändern!
Klicken Sie einfach mit der rechten Maustaste auf die .workflow-Datei und wählen Sie „Paketinhalt anzeigen“.
Darin finden Sie eine konfigurierbare info.plist-Datei.
Öffnen Sie es mit Ihrem bevorzugten Text- oder Plist-Editor (oder einfach nur dem alten TextEdit) und suchen Sie nach dem XML-Schlüssel „NSMenuItem“. Er sollte einen Schlüsseleintrag „default“ enthalten, der einer Zeichenfolge zugeordnet ist. Die betreffende Zeichenfolge ist der Anzeigename des Dienstes .

Weitere Informationen zu allem, was konfigurierbar ist (z. B. eine Dienstbeschreibung), finden Sie in der Apple-Dokumentation hier: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/SysServices/Articles/properties.html

Getestet auf OS X High Sierra

Ich habe 42 Dienste mit Leerzeichen in ihrem Namen und jeder letzte von ihnen wird im Menü Dienste angezeigt. Ich benutze US-Englisch und man sollte nicht ohne Leerzeichen umbenennen müssen, wenn man US-Englisch verwendet, aber ich werde einreichen, dass es in einer anderen Sprache ein Problem sein könnte, da Gerlos sagte, dass er Italienisch verwendet.
Es wäre ziemlich albern, wenn die Lokalisierung das Problem verursacht, aber meine ist auf Englisch (UK) eingestellt, also könnten Sie Recht haben. Ich habe versucht, das Pboard mit "pbs -flush -update" zu leeren und den Cache manuell zu ändern, aber ohne Erfolg, eine Umbenennung war erforderlich.
Die Sache mit "keine Eingabe" hat bei mir funktioniert. Mein Dienst nahm Eingaben aus dem Inhalt meiner Zwischenablage auf … was meiner Meinung nach den falschen Kontext für die Bereitstellung des Dienstes implizierte. Keine Ahnung. Wie auch immer, die Umstellung auf "keine Eingabe" hat den Trick getan.

Anscheinend musste ich also den wurzellosen Systemintegritätsschutz deaktivieren, nur um die Workflow-Datei zwischen Ordnern zu verschieben. Ich hoffe immer noch, dass jemand einen besseren Weg findet, Dienste in der Mail-App in El Capitan zu installieren, da es übertrieben erscheint, mehrere Neustarts durchführen und Sicherheitsfunktionen auf niedriger Ebene deaktivieren zu müssen, wenn ich nur versuche, Daten aus zwei grundlegenden Apps abzurufen.

http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/

Ich glaube nicht, dass Sie Dienste in den Baum /System/ einfügen müssen. Im Allgemeinen werden dort Systemelemente abgelegt, keine Benutzerelemente. Ich denke, deshalb ist es gesperrt. Ich habe gerade den Dienst neu erstellt (aber den Applescript-Code nicht eingefügt) und eine leere Verknüpfung gefunden und zugewiesen. Der Dienst landete in der Kategorie „Allgemein“, ist aber verfügbar, solange Mail aktiv ist und die Verknüpfung das Skript auslöst. Der Artikel von Engadget besagt tatsächlich, dass Apple seine Dienste in den Systembaum einfügt, die Benutzer jedoch woanders hingehen. Sie könnten es ohne die von Ihnen gewählte Tastenkombination versuchen – das ist ziemlich weit verbreitet.

Ich bin kürzlich auf dieses Problem gestoßen, unter MacOS 10.11 El Capitan und MacOS 10.14 Mojave .

Ich habe einen Dienst in Automator erstellt, er wurde automatisch gespeichert, ~/Library/Services/aber nicht wie erwartet im Dienstemenü angezeigt.

Das Problem scheint mit dem Dateinamen der Workflow-Datei zusammenzuhängen (möglicherweise Leerzeichen im Dateinamen). Meiner Erfahrung nach sollte es ausreichen, die Datei umzubenennen, um das Problem zu lösen.

Gehen Sie dazu zu ~/Library/Services/(aus dem Finder-Menü: Go> Go to folderund fügen Sie ~/Library/Services/dort ein) und benennen Sie die Dienstdatei um , wobei Sie Leerzeichen aus dem Dateinamen entfernen.

Dann müssen Sie möglicherweise in den Mac-Einstellungen zum Tastaturbereich gehen und Ihren Dienst auf der Registerkarte "Verknüpfung" aktivieren (siehe Abschnitt "Dienste").

RE: removing spaces from file name, Ich habe viele Automator Services/Quick Actions mit Leerzeichen in ihren Namen und sie werden gut angezeigt. Der Vorschlag, Leerzeichen zu entfernen, ist lächerlich!
@ user3439894 erscheint mir auch lächerlich. Trotzdem hatte ich ein paar Mal das gleiche Problem des OP, und das Umbenennen der Datei zum Entfernen von Leerzeichen hat mir geholfen. Ich würde gerne wissen, ob das auch für jemand anderen funktioniert oder nicht. Vielleicht hängt es mit der Lokalisierung des Systems zusammen? Meine ist italienisch.
Jede Umbenennung scheint zu helfen. Es geht also nicht um die Leerzeichen im Dateinamen, sondern nur darum, dass der geänderte Name anders sein muss als der ursprüngliche Name (der identisch ist mit dem Namen, mit dem der Dienst im Menü erscheinen würde).

Das Umbenennen hat nicht geholfen, und das "keine Eingabe" auch. Aber das any applicationhat den Trick für mich getan. Ich habe den Dienst ausschließlich an Final Cut Pro gesendet, und aus irgendeinem Grund wurde er einfach nicht im Dienstemenü angezeigt. Das Ändern für eine beliebige Anwendung löste das Problem. Das einzige Problem ist, dass der Dienst jetzt überall angezeigt wird, was ärgerlich ist. Aber es tut nicht weh, vorausgesetzt, es gibt keinen Verknüpfungskonflikt.

Bearbeiten: Ich ändere es zurück zu FCP und Boom, alles funktioniert gut. Ich schätze, es hatte einen internen Konflikt mit dem Pfad zur App oder so.