“n'est pas autorisé d'assistance de l'accès” erreur lors de l'exécution d'AppleScript de Java
J'ai un Jenkins config qui exécute les tests Java pour OS X app à l'aide de Maven. Et quand j'essaie de l'exécuter certains AppleScript qui nécessite l'assistance d'accès pour, des erreurs apparaissent. J'ai donc essayé d'exécuter AppleScript de deux façons:
-
À L'Aide De ScriptEngine:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine moteur = mgr.getEngineByName("AppleScriptEngine");
moteur.eval(script);
Dans ce cas, l'exécution du script échoue avec l'erreur: Une erreur de type -10810 a eu lieu.
- Appel osascript. Dans ce cas, l'erreur ressemble: les Événements du Système a rencontré une erreur: osascript n'est pas permis d'assistance d'accès. (-1719)
En matière d'accessibilité de la liste j'ai des choses suivantes: SystemUIServer, Éditeur de Script, osascript, java, mvn, bash, Terminal. Lors de l'exécution d'un script dans l'Éditeur de Script ou dans osascript depuis le Terminal, script passé sans erreurs.
Toutes les suggestions que dois-je vérifier?
Vous devez vous connecter pour publier un commentaire.
Je pense que vous répondez à votre propre question. Vous pouvez autoriser l'assistance d'accès pour l'Éditeur de Script (entre autres choses). Il fonctionne très bien dans l'Éditeur de Script.
Vous pouvez essayer d'ajouter d'autres applications à fonctionnels d'accès. Cela peut être une option si le Script de l'Éditeur de ne pas vous donner ce que vous voulez.
J'ai résolu quelque chose comme ce problème avant d'en insérant osascript dans la CCI.db à l'aide de tccutil.py
Après l'installation je l'ai lié tccutil.py dans le chemin.
De permettre à osascript d'accès pour contrôler votre ordinateur, utilisez les éléments suivants compand
J'ai même ajouté le script quand le problème s'est produit de nouveau plus tard.
Qui a échoué, donc j'ai redémarré qui a fonctionné 🙂
transcribe-audio-to-text.js utilise actuellement le Système de Manifestations pour faire TextEdit être en mesure d'enregistrer un fichier texte. Il fait partie de l'assistant virtuel qui est très alpha à 20160105 mais la source est intéressante. virtual assistant
Je trouve que j'ai parfois besoin d'ajouter le parent d'un processus qui appelle osascript, en plus de osascript lui-même, indépendamment de ce que le message d'erreur dit. Parfois, j'ai du ajouter le grand-parent processus trop.
En particulier, /bin/bash n'appelle fonctionnel de l'API, mais OSX veut la liste même si osascript est également sur la liste, et j'ai dû ajouter de TeamCity agent.jar trop.
Alors essayez d'ajouter votre .fichier jar, et voir si ScriptEngine utilise un intermédiaire exécuteur de code que vous devrez activer.
Attention, vous aurez probablement à supprimer et ajouter votre participation si vous modifiez le fichier binaire (je pense que OSX maintient une sorte de somme de contrôle dans le final binaire entrée dans sa base de données d'entrée).
Une autre solution consiste à écrire l'AppleScript à l'aide de l'Éditeur de Script, l'enregistrer comme une application autonome à partir de là, et donnent à l'application d'assistance de l'accès. Ensuite, vous pouvez exécuter l'application en tant que de besoin à partir d'un autre environnement comme une application Java ou d'un processus Automator.
Voir aussi: https://apple.stackexchange.com/a/346306/264883