el script funciona en el Editor de scripts pero no como una aplicación (MacOS Mojave)

El siguiente script funciona como se espera en el editor de scripts:

tell application "System Events" set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE" ignoring application responses click nord end ignoring end tell do shell script "killall System\\ Events" tell application "System Events" set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE" tell menu 1 of nord if exists menu item "Disconnect" then click menu item "Disconnect" else click menu item "Connect" end if end tell end tell 

Cuando lo exporto a un .app y .app doble clic en él para ejecutarlo, .app el siguiente error:

No se puede obtener «clase menE» 1 de «clase mbri» 1 de «clase mbar» 2 de «clase pcap» “NordVPN IKE” de la aplicación “Eventos del sistema”. Índice no válido.

Los eventos del sistema obtuvieron un error: No se puede obtener el menú 1 del elemento de la barra de menú 1 de la barra de menú 2 del proceso de aplicación “NordVPN IKE”. Índice no válido. (-1719)

¿Cómo puedo cambiar el script para que funcione como .app ?

Gracias

Necesitas hacer dos cosas para que esto funcione:

En primer lugar, debe asegurarse de que los propios System Events tengan permisos en el panel de preferencias de Accesibilidad.

En segundo lugar, debe agregar un retraso después de hacer clic en el elemento del menú para darle tiempo para cargar. En última instancia, eso es lo que está causando el error de índice, porque el menú aún no se ha propagado y está intentando acceder a los elementos que contiene. Cambia tu guión a lo siguiente:

 .... click nord end ignoring end tell delay 0.3 do shell script "killall System\\ Events" ....