Die „Watch Me Do“-Funktion von Automator funktioniert in der App nicht

Ich versuche, eine App in Automator zu erstellen, um die obere Menüleiste und das Dock auszublenden oder anzuzeigen. Ich konnte mir keinen besseren Weg vorstellen, also benutzte ich die "Aufnahme"-Funktion, damit sie mir dabei zusehen konnte, wie ich es ausführte. Ich habe es in Automator getestet und es hat gut funktioniert.

Hier ist der Arbeitsablauf:Arbeitsablauf

Wie gesagt, es funktioniert gut, wenn ich in Automator auf die Schaltfläche „Ausführen“ drücke, aber wenn ich es als Anwendung exportiere, öffnet es die Systemeinstellungen, funktioniert aber nicht mehr, sobald es auf die Funktion „Watch Me Do“ klickt und gibt mir diese Nachricht:

Fehler

Hier ist ein Video von der ganzen Sache, wenn es hilft:

Video

Antworten (2)

Watch Me Do und Zugänglichkeit

Seit macOS 10.9 müssen Sie Ihre Automator-Anwendung zur Barrierefreiheitsliste Ihres Mac hinzufügen. Um Ihren Automator-Workflow hinzuzufügen, gehen Sie zu:

  • Systemeinstellungen →
  • Sicherheit & Datenschutz →
  • Barrierefreiheit

…und ziehen Sie die Automator-App, die Sie verwenden möchten, in die Liste.

Dies ist erforderlich, da Watch Me Do die Barrierefreiheitsfunktionen von macOS verwendet, um Benutzerinteraktionen zu simulieren. Die Barrierefreiheit ist leistungsstark und Apple verlangt, dass Anwendungen explizit aufgelistet werden, bevor ihnen diese zusätzliche Kontrolle über Ihren Computer gewährt wird.

Vergessen Sie die Verwendung von Watch Me Do, es ist klobig und langsam. Sie können den folgenden AppleScript- Code verwenden , um den Status der Menüleiste und des Docks umzuschalten.

Vorausgesetzt, dass der Zustand des Docks und der Menüleiste synchron sind. Mit anderen Worten, beide werden bei normaler Verwendung immer entweder zusammen angezeigt oder ausgeblendet, und als solches schaltet dieses Skript den Status von jedem vor seiner Ausführung auf das Gegenteil des aktuellen Status um. Wenn dies nicht der Fall ist, muss zusätzliche Logik angewendet werden.

tell application "System Preferences"
    activate
    reveal pane id "com.apple.preference.general"
    delay 1
end tell

tell application "System Events"
    click checkbox "Automatically hide and show the menu bar" of window "General" of process "System Preferences"
    key code 12 using command down
    tell dock preferences to set autohide to not autohide
end tell
Gleicher Fehler. Es funktioniert gut, wenn der Formularautomator ausgeführt wird, aber wenn es als App gespeichert und dann ausgeführt wird, erhalte ich die Meldung „Bei der Aktion „AppleScript ausführen“ ist ein Fehler aufgetreten.“
Macht nichts, ich habe es zum Laufen gebracht. Ich musste der App erlauben, den Computer mit der Zugänglichkeitssache zu steuern. Ich sollte mich mehr mit AppleScript befassen, danke.