web-dev-qa-db-fra.com

macOS Mojave, Automator “Non autorisé à envoyer des événements Apple à des événements système.”

Après avoir mis à jour Mojave, je ne peux plus utiliser le service de l'automate que j'utilisais auparavant avec l'alerte ci-dessous .  enter image description here

  • Dans Sécurité et confidentialité, j'ai déjà vérifié l'éditeur AppleScript.

Voyez-vous un problème avec mon code ou est-ce le problème du dernier MacOS?

Script

on run {input, parameters}
set pathList to {}
repeat with itemNum from 1 to count of input
    tell application "System Events"
        copy POSIX path of (container of (item itemNum of input)) to end of pathList
    end tell
end repeat
return pathList
end run

 enter image description here

 enter image description here

22
Travelholics

Cela fait certainement partie du nouveau cadre de sécurité de Mojave. Dans terminal essayer

osascript -e 'tell application "Finder"' -e 'set _b to bounds of window of desktop' -e 'end tell'

et vous pouvez recevoir:

36:42: execution error: Not authorized to send Apple events to Finder. (-1743)

Ce qui est supposé se produire lors de la première exécution est que le Finder ouvre une boîte de dialogue vous informant que terminal demande l'autorisation d'envoyer des événements au Finder. Si vous le permettez, terminal sera ajouté à la page Automation dans System Preferences > Security & Privacy > Automation:

 enter image description here

Il y a deux problèmes que je vois en ce moment:

  • l'implémentation de la demande de permission pour l'action de script semble être boguée; J'ai exécuté d'autres scripts demandant l'autorisation d'envoyer des événements à Safari et le Finder ne demande pas d'autorisation, il renvoie simplement une erreur.
  • l'automatisation simplifiée nécessite un certain type de mécanisme pour que les autorisations soient accordées a priori; Par exemple, utiliser AppleScript avec Ansible et être incapable de précharger des subventions

D'autres ont écrit des informations plus complètes à ce sujet:

Espérons que cela sera réglé avant les navires Mojave, car cela impacte sérieusement les capacités d'automatisation sous macOS.

17
Joe

Une erreur similaire s'est produite lors de l'exécution d'applications AppleScript .app. J'ai reçu l'erreur suivante:

Not authorized to send Apple events to Finder. (-1743)

Une solution de contournement consiste à réexporter l'application à partir du code source .scpt ou .applescript. Cela génère une nouvelle application .app, qui dans mon cas a été exécutée avec succès. Le lancement initial nécessitait une approbation (ainsi que certains lancements ultérieurs), et l'application a été ajoutée en tant qu'entrée sous Settings -> Security & Privacy -> Privacy -> Automation.

9
Daniel S.

Voici ce que j'ai fait qui a résolu le problème pour moi. Je suis allé dans Préférences système> Sécurité et confidentialité> Accessibilité (options sur le côté gauche)> (Entrez le mot de passe du système)> Cliquez sur Automator (ou sur votre application que vous souhaitez activer) et TADA ça fonctionne.

7
lrosal

UPDATE: la mise à jour vers la dernière version bêta publique (à compter du 4 août 2018) a corrigé le problème pour moi. Avant cela, le problème persistait dans toutes les bêta publiques de Mojave.


Réponse originale:

Je voulais juste vous faire savoir que moi-même et un autre ami rencontrons exactement le même problème, avec différents flux de travail Automator utilisant Applescript (différent du vôtre). Le problème survient à la fois avec l'activation manuelle (Finder -> Services -> cliquez sur l'élément) et avec l'activation du raccourci clavier.

Encore plus étrange, le flux de travail fonctionne à merveille lors des tests dans Automator.

J'ai déposé un rapport de bogue par le biais de l'Assistant de rétroaction et je suggère à quiconque d'autre de voir cela que vous faites de même! Roue qui grince et tout ...

Automator - Erreur d'autorisations. "L'action“ Run AppleScript ”a rencontré une erreur:“ Non autorisé à envoyer des événements Apple à des événements système. ”"

Le flux de travail d'Automator fonctionne bien dans Automator

5
Mr. Bubbles

J'ai rencontré la même erreur en ouvrant gitk.

Erreur dans le script de démarrage: erreur d'exécution: non autorisé à envoyer des événements Apple à des événements système. (-1743)


SOLUTION

Allez à Settings -> Security & Privacy -> Privacy -> Automation -> Privacy tab et cochez la case System Events.

 enter image description here

3
Abdullah

J'essayais d'insérer la date actuelle dans l'application Rappels avec une frappe. Au lieu d'utiliser les options recommandées "Paramètres -> Sécurité et confidentialité -> Confidentialité -> Accessibilité -> Automator", j'ai dû ajouter des rappels au lieu d'Automator afin d'autoriser la commande de frappe. Il est agaçant qu’il ne permette que l’action sur l’application spécifique, mais cela semble être le cas.

0
Dennis Happ

J'avais toujours des problèmes pour envoyer des frappes au clavier quelques mois après la libération de Mojave. Pour moi, étrangement, le correctif était d'aller Préférences Système -> Sécurité et confidentialité -> Onglet Confidentialité -> Déverrouiller le verrou avec votre mot de passe ->Supprimer (avec le bouton moins) Automator de la liste des applications de la ligne d'accessibilité. Peut-être qu’il y avait quelque chose dans l’exécution des bêtas qui devait être supprimé avant que mes scripts ne puissent envoyer à nouveau des frappes au clavier. 

Edit: Après avoir quitté les Préférences Système, l'erreur d'alerte apparaissait à nouveau. Ré-ajouter Automator.app à la ligne Accessibilité semble avoir résolu le problème pour le moment.

0
nteiss