2 votes

Accorder de façon permanente le droit de contrôler une autre application à Apple script App.

J'utilise une application AppleScript (c'est-à-dire un AppleScript exporté vers une application OS X) pour copier dans le presse-papiers l'ID du message d'un e-mail actuellement sélectionné dans Mail.app.

Chaque fois que je lance l'application AppleScript, je dois confirmer qu'elle est autorisée à lire l'ID du message à partir de Mail.app. C'est-à-dire que j'obtiens une fenêtre popup demandant :

"Get-E-Mail-Message-ID.app" veut accéder au contrôle "Mail.app". Le fait d'autoriser ce contrôle permettra d'accéder aux documents et aux données de "Mail.app", et d'effectuer des actions dans cette application. Ce script a besoin de contrôler l'exécution d'autres applications.

Avec deux boutons, [Ne pas autoriser] et [OK]. Je dois donc toujours cliquer sur [OK].

Est-il possible d'autoriser de façon permanente mon application à lire les données de Mail.app ?

J'ai déjà trouvé Préférences système -> Sécurité et confidentialité -> Confidentialité, et j'ai coché la case sous "Autoriser les applications ci-dessous à contrôler d'autres applications.", mais j'obtiens toujours le popup chaque fois que je lance l'application AppleScript.

3voto

red_menace Points 1014

Un AppleScript ordinaire enregistre les propriétés et les variables globales (y compris les variables de l'un ou l'autre des gestionnaires d'exécution) dans le script lui-même (le fichier script est modifié). C'est ainsi que les propriétés persistantes ont été mises en œuvre, mais maintenant cela peut se heurter à des problèmes de permissions d'accessibilité, puisque la modification d'une application amènera le système à la considérer comme une différents un - un qui n'a pas a reçu l'autorisation.

La solution est de signer le code de votre application (vous pouvez utiliser un certificat auto-émis) ou de faire en sorte que les scripts dans le bundle en cours d'exécution . Vous perdrez les propriétés persistantes, mais vous pourrez utiliser certaines AppleScriptObjC pour mettre en œuvre les préférences via NSUserDefaults si vous avez besoin de garder des choses entre les courses.

2voto

Bi11e Points 21

Sélectionnez le fichier dans le Finder et obtenez des informations, puis vérifiez qu'il est verrouillé.

Note : Cela "fonctionne" car cela empêche le script de se modifier, mais notez que cela peut empêcher le script de fonctionner correctement. Voir l'autre réponse sur ce post.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X