AppleScript ne s'exécute pas sur mon Mac

Bonjour,

à partir de l'éditeur Appel Script, j'ai créé une application (.app). Lorsque je tente d'exécuter l'application ainsi créée, j'obtiens un message indiquant que l'"appli n'est pas autorisée à un accès d'aide (-25211)".

J'ai pourtant bien validé cette application dans sécurité Accessibilité.

Tout cela fonctionnait très bien sur mon MacBook Pro précédent qui était sous Mojave, mais sur mon nouveau Mac qui est sous Monterey, ça ne fonctionne pas ...

Pas cool ... et pas d'info sur ce que je dois faire pour résoudre le problème.

Si quelqu'un à des pistes, je suis preneur.

Merci.



Appli script qui ne s'exécute pas

[Titre Modifié par l’Hôte]

MacBook Pro (2020 and later)

Publiée le 14 févr. 2022 à 02h14

Répondre
Question marquée comme Réponse la mieux classée

Publiée le 15 févr. 2022 à 08h54

En faisant une recherche rapide j'ai trouvé quelques solutions:

  1. Effacez votre application dans Préférences Système -> Sécurité et confidentialité -> Accessibilité et ajoutez la de nouveau.
  2. Soyez sûr que le nom de votre application ne contient pas d'espaces.
  3. Dans Préférences Système -> Sécurité et confidentialité -> Automation, vérifiez que votre app a access aux événements système (System Events).
16 réponses
Question marquée comme Réponse la mieux classée

Le 15 févr. 2022 à 08h54 en réponse à Daniel_Chillet

En faisant une recherche rapide j'ai trouvé quelques solutions:

  1. Effacez votre application dans Préférences Système -> Sécurité et confidentialité -> Accessibilité et ajoutez la de nouveau.
  2. Soyez sûr que le nom de votre application ne contient pas d'espaces.
  3. Dans Préférences Système -> Sécurité et confidentialité -> Automation, vérifiez que votre app a access aux événements système (System Events).

Le 14 févr. 2022 à 10h20 en réponse à Daniel_Chillet

Essayez d'autoriser "Apple Script Editor". Ce n'est pas garantie:



Au peur de me répéter, votre script est peut-être la cause du problème. Je ne connais pas vos capacités de programmer mais, sans vouloir vous offenser, essayez de restreindre votre script à des choses légèrement plus simples (en élimant certaines lignes de code). Vous pourriez voir où le problème se produit et peut-être trouver une alternative.


Ceci dit, si vous pourriez publier votre script (s'il est bien sûr general, i.e. non personnel/professionnel/privé). Nous pourrions le tester sur nos Macs (j'utilise personallement High Sierra et Monterey). Les autres contributeurs pourraient faire de même avec leur propres configurations.


Le 14 févr. 2022 à 11h29 en réponse à 6x6

J'ai bien validé Editeur de script comme indiqué dans votre capture d'écran, ça ne résout pas le pb.


Mon code (qui fonctionne depuis l'éditeur de script mais ne fonctionne plus lorsqu'il est exporté en Application) est donné ci-dessous.

Mon niveau de programmation en Appel Script est assez modeste ;-)

J'ai simplifié le script, dans sa version complète, il est plus complet, mais juste avec ce code, on voit apparaitre le pb.

En fait, en supprimant du code, je pense avoir identifié que le pb vient de la partie en gras.


L'idée du script :

  • une fenêtre s'ouvre pour demander de choisir entre deux Serveurs (choix par un nom plutôt que par un www.xxx.xxx)
  • ensuite, Cisco Any Connect est lancé
  • et l'idée est ensuite de modifier automatiquement le nom du serveur où Cisco doit se connecter, et de valider, c'est à dire de simuler l'appuie sur Entree
  • C'est à ce moment là qu'une fenêtre apparait indiquant

ChoixVPN n'est pas autorisé à un accès d'aide.

Erreur dans System Events : ChoixVPN n'est pas autorisé à un accès d'aide (-25211)




set theapp to "Cisco AnyConnect Secure Mobility Client"


set serveur1 to "vpn.serveur1.fr"

set user1 to "Utilisateur1"

set fenetre1 to "Cisco AnyConnect | " & serveur1


set serveur2 to "vpn.serveur2.fr"

set user2 to "Utilisateur2"

set fenetre2 to "Cisco AnyConnect | " & serveur2


set reponse to choose from list {"Serveur1", "Serveur2"} with title "Mon appli VPN rien qu'à moi ;-)" with prompt "Quel VPN voulez-vous ?"

set boutonAppuye to reponse as string


if boutonAppuye = "Serveur1" then

set serveur to serveur1 as string

set utilisateur to user1 as string

set fenetre to fenetre1 as string

end if

if boutonAppuye = "Serveur2" then

set serveur to serveur2 as string

set utilisateur to user2 as string

set fenetre to fenetre2 as string

end if

if not (boutonAppuye = "Serveur1" or boutonAppuye = "Serveur2") then

return

end if

tell application theapp

activate

end tell

repeat until application theapp is running

delay 1

end repeat

tell application "System Events"

repeat until (window 1 of process theapp exists)

delay 1

end repeat

tell process theapp

keystroke (serveur as string)

keystroke return

end tell

repeat until (exists window fenetre of application process theapp)

-- repeat until (window 2 of process theapp exists)

delay 1

end repeat

-- delay 1

tell process theapp

keystroke tab

-- keystroke user as string -- Enter your password

keystroke utilisateur

keystroke tab

end tell

repeat until (not (exists window fenetre of application process theapp))

-- repeat until (window 2 of process theapp exists)

delay 1

end repeat

end tell



Le 16 févr. 2022 à 06h13 en réponse à 6x6

Bonjour,

je viens de refaire la manip suivante :

1) Je supprime l'éditeur de script et mon appli de Préférences Système -> Sécurité et confidentialité -> Accessibilité.

2) Je relance le script depuis l'éditeur de script, j'ai un message d'erreur m'indiquant que l'éditeur de script n'a pas les droits, logique.

3) J'autorise l'éditeur à prendre le contrôle de l'ordinateur dans Préférences Système -> Sécurité et confidentialité -> Accessibilité.

4) Je le relance le script depuis l'éditeur de script, il s'exécute correctement.

5) Je crée alors une application depuis l'éditeur de script, export Application

6) Je lance l'application depuis le finder (double clic sur l'application), j'ai un message d'erreur m'indiquant que mon application n'a pas les droits, logique.

7) J'autorise donc mon application à prendre le contrôle de l'ordinateur, dans Préférences Système -> Sécurité et confidentialité -> Accessibilité.

8) Je relance l'application ... et le drame .. toujours pareil


Dans Préférences Système -> Sécurité et confidentialité -> Automatisation, j'ai bien mon Application qui a les droits de contrôler System Events.app (comme on pouvait le voir sur l'image précédente).

Par contre, il ne semble pas possible de supprimer des applications dans Préférences Système -> Sécurité et confidentialité -> Automatisation. Pas de petit icône "-" en bas de la fenêtre ... étonnant non.


Le seul truc que je n'ai pas encore essayer, c'est de refaire le point 1 de la liste ci-dessous,

puis de redémarrer l'ordinateur, et de reprendre les points 2 à 8 pour voir si ca change quelque chose ...


Le 14 févr. 2022 à 09h28 en réponse à Daniel_Chillet

Merci pour vos retours. Je vais explorer, mais j'ai vraiment l'impression qu'il s'agit "simplement" d'un problème de droit que je dois donner à mon script. Tout à fait, vous savez mieux que nous le contenu de votre code 😉. Il y a quand même 4 versions d'écart dont Big Sur qui à apporté nombre de nouveautés notamment le SSV.
Sur Mojave, il avait suffit que j'autorise mon script à pouvoir contrôler mon ordinateur, et cela se faisait dans Préférences Systems -> Sécurité et confidentialité -> Accessibilité -> Confidentialité ...
et le tour était joué ...
La, même en faisant cette manip, ça ne suffit pas (?) Il faut sans doute le mettre à jour.


Le 14 févr. 2022 à 07h52 en réponse à Daniel_Chillet

Bonjour 👋,


Apple Script n'est plus supporté depuis 2015.


A bientôt 😉


Le 14 févr. 2022 à 09h19 en réponse à Arcadi

Merci pour vos retours. Je vais explorer, mais j'ai vraiment l'impression qu'il s'agit "simplement" d'un problème de droit que je dois donner à mon script.

Sur Mojave, il avait suffit que j'autorise mon script à pouvoir contrôler mon ordinateur, et cela se faisait dans Préférences Systems -> Sécurité et confidentialité -> Accessibilité -> Confidentialité ...

et le tour était joué ...

La, même en faisant cette manip, ça ne suffit pas (?)



Le 14 févr. 2022 à 12h20 en réponse à Daniel_Chillet

À la lecture de votre script, la premiere chose que je vois est "Cisco AnyConnect". Cette application doit elle-aussi être autorisée dans vos réglages de confidentialité et je pense que l'erreur sur ChoixVPN vient de là.


Je ne pourrais malheureusement pas tester la totalité de votre script n'ayant pas Cisco AnyConnect et j'espère que de mettre à jour les réglages de confidentialité sera suffisant pour résoudre votre problème.

Le 15 févr. 2022 à 23h24 en réponse à 6x6

Bonjour,

merci pour votre réponse.

Malheureusement, toujours bloqué, mais un peu différent ... ;-)

J'ai modifié un peu min script, et j'ai bien validé dans Accessibilité et dans Automatisation comme suit


Malgré cela, j'ai maintenant l'erreur suivante


Il doit encore y avoir un endroit où des droits doivent être validés ...


Grrrrrrr ........



Cette discussion a été fermée par le système ou l’équipe de la communauté. Vous pouvez voter pour les publications que vous jugez utiles ou effectuer des recherches dans la communauté pour trouver des réponses supplémentaires.

AppleScript ne s'exécute pas sur mon Mac

Bienvenue dans la Communauté d’assistance Apple
Un forum où les clients Apple s’entraident avec leurs produits. Faites vos premiers pas avec votre compte Apple.