2 votos

Conceder permanentemente el derecho a controlar otra app a Apple script App

Estoy utilizando una aplicación AppleScript (es decir, un AppleScript exportado a una aplicación OS X) para copiar en el portapapeles el ID de mensaje de un correo electrónico seleccionado actualmente en Mail.app.

Siempre que ejecuto la aplicación AppleScript, tengo que confirmar que se le permite leer el ID del mensaje desde Mail.app. Es decir, me aparece una ventana emergente preguntando:

"Get-E-Mail-Message-ID.app" quiere acceso al control "Mail.app". Permitir el control proporcionará acceso a documentos y datos en "Mail.app", y para realizar acciones dentro de esa aplicación. Este script necesita controlar otras aplicaciones para ejecutarse.

Con dos botones, [No permitir] y [OK]. Así que siempre tengo que hacer clic en [Aceptar].

¿Es posible autorizar permanentemente a mi aplicación a leer datos de Mail.app?

Ya he encontrado Preferencias del Sistema -> Seguridad y Privacidad -> Privacidad, y he marcado la casilla "Permitir que las aplicaciones de abajo controlen otras aplicaciones", pero sigue apareciendo la ventana emergente cada vez que ejecuto la aplicación AppleScript.

3voto

red_menace Puntos 111

Un AppleScript normal guarda las propiedades y variables globales (incluidas las variables de cualquiera de los gestores de ejecución) en el propio script (se modifica el archivo script). Así es como se han implementado las propiedades persistentes, pero ahora esto puede toparse con problemas de permisos de accesibilidad, ya que modificar una aplicación hará que el sistema lo vea como un diferente uno - uno que no ha se le ha dado permiso.

La solución es firmar con código tu aplicación (puedes usar un certificado autoemitido) o hacer que los scripts del bundle sólo en funcionamiento . Perderá las propiedades persistentes, pero podrá utilizar algunas AppleScriptObjC para aplicar las preferencias mediante NSUserDefaults si necesitas guardar cosas entre tiradas.

2voto

goertzenator Puntos 739

Selecciona el archivo en Finder y Obtén Información, luego asegúrate de que esté Bloqueado.

Nota: Esto "funciona" porque impide que el script se modifique a sí mismo, sin embargo tenga en cuenta que esto puede impedir que el script funcione correctamente. Ver la otra respuesta en este post.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X