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 .
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
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
:
Il y a deux problèmes que je vois en ce moment:
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.
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
.
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.
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 ...
Le flux de travail d'Automator fonctionne bien dans Automator
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.
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.