macOS Mojave, Automateur "N'est pas autorisé à envoyer des événements Apple à des événements système."
après la mise à jour de Mojave, Je ne peux plus utiliser le service automator que j'ai utilisé précédemment avec l'alerte ci-dessous.
- dans Security & Privacy, j'ai déjà vérifié AppleScript Editor.
voyez-vous un problème avec mon code ou est-ce le problème de la nouvelle 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
4 réponses
c'est définitivement une partie du nouveau cadre de sécurité de Mojave. terminal
osascript -e 'tell application "Finder"' -e 'set _b to bounds of window of desktop' -e 'end tell'
et vous recevoir:
36:42: execution error: Not authorized to send Apple events to Finder. (-1743)
Ce qui est censé arriver sur la première exécution est le Finder ouvre une boîte de dialogue vous informant que terminal
demande la permission d'envoyer des évènements au Finder. Si vous le permettez, puis terminal
sera ajouté à la page Automatisation dans System Preferences > Security & Privacy > Automation
:
Il y a deux questions que je vois à l'instant:
- l'implémentation de la demande d'autorisation pour l'action de script semble être sur écoute; j'ai lancé d'Autres scripts qui demandent l'autorisation d'envoyer des événements à Safari et le Finder ne demande pas l'autorisation, il retourne juste une erreur.
- l'automatisation rationalisée nécessite un certain type de mécanisme pour obtenir les autorisations a priori; un exemple serait D'utiliser AppleScript avec Ansible et d'être incapable de précharger des subventions
D'autres ont rédigé des informations plus complètes à ce sujet:
- https://www.felix-schwarz.org/blog/2018/06/apple-event-sandboxing-in-macos-mojave
- https://forums.developer.apple.com/thread/106949
espérons que cela soit réglé avant que Mojave ne se cela affecte sérieusement les capacités d'automatisation de macOS.
UPDATE: mise à jour à la dernière version bêta publique (à partir du 4 août 2018) A fixé l'émission pour moi. Avant cela, le problème persistait dans tous les bêtas publics de Mojave.
réponse originale:
je voulais juste vous faire savoir que moi-même et un autre ami éprouvons exactement le même problème, avec différents flux de travail D'Automateur qui utilisent Applescript (différent du vôtre). Nous avons le problème qui se produisent avec à la fois manuel activation (Finder -- > Services -->cliquez sur l'élément) et avec activation de raccourci clavier.
encore plus étrange, le flux de travail fonctionne à merveille lors des tests à L'intérieur de L'Automateur.
j'ai rempli un rapport de bogue par L'intermédiaire de L'Assistant de retour d'information, et suggère à quiconque voit cela que vous faites aussi! Roue qui grince et tous...
j'ai eu ce genre d'erreur d'exécution AppleScript .app
applications. J'ai reçu le message d'erreur suivant:
Not authorized to send Apple events to Finder. (-1743)
une solution consiste à réexporter l'Application de .scpt
ou .applescript
code source. Cela génère un nouveau .app
application, qui dans mon cas s'est déroulée avec succès. Le lancement initial a nécessité une approbation (ainsi que certains lancements subséquents), et la demande a été ajoutée sous la rubrique Settings -> Security & Privacy -> Privacy -> Automation
.
Voici ce que j'ai fait qui a résolu le problème pour moi. Je suis allé à Préférences Système > Sécurité et confidentialité > accessibilité (Options à gauche) > (entrer le mot de passe système) > cliquez sur Automator (ou votre application que vous voulez activer) et TADA il fonctionne.