1 votos

Cómo crear una aplicación con applescript que será capaz de abrir un archivo desde el finder.

Me gustaría crear una aplicación para un programa de línea de comando que he instalado con el Homebrew. El comando ejecutable se encuentra en /usr/local/bin/ y se acepta archivos como argumentos de línea de comandos. Es un lector de PDF llamado zathura.

Mientras que la investigación de este tema me enteré de que un Applescript puede ser guardado como una aplicación. Me las he arreglado para hacer eso y he conseguido hacer Finder utiliza principalmente como mi lector de PDF.

He tratado de escribir la siguiente secuencia de comandos:

on run argv
    do shell script "/usr/local/bin/zathura " & (item 1 of argv)
end run

Si puedo ejecutar esta secuencia de comandos desde el editor applescript, utilizando el botón de reproducción, el programa se abre sin ningún tipo de archivo, pero eso es comprensible, ya que no tengo manera con esta interfaz para especificar un archivo como argumento.

Sin embargo, si la guardo como una aplicación, ponerlo en la carpeta de aplicaciones y haga clic en él, me sale el error:

No se puede hacer el punto 1 en el tipo de texto Unicode (-1700)

Además, al seleccionar un archivo en el Finder y tratar de abrirlo con la nueva aplicación que acaba de crear, no pasa nada.

No entiendo por qué la secuencia de comandos de actuar de manera diferente si se guarda como una aplicación y cuáles son las variables (como argv) que contienen la información en el archivo del Finder gustaría abrir.

1voto

red_menace Puntos 111

El uso de la argv parámetro con el run controlador está diseñado para los argumentos pasados al script cuando se usa con osascript desde la línea de comandos. En un AppleScript aplicación, un open controlador se pasa una lista de alias (HFS caminos), por ejemplo:

on open fileItems
    repeat with anItem in fileItems
        # do something with anItem
    end repeat
end open

Desde el fragmento, tendría que hacer algo como:

on open fileItems
    do shell script "/usr/local/bin/zathura " & quoted form of POSIX path of item 1 of fileItems
end open

Tenga en cuenta que debe utilizar la ruta de acceso POSIX de los elementos cuando se utiliza con el shell, y las rutas de acceso también debe ser citado o tienen caracteres especiales del shell escapado.

Consulte la Guía de Lenguaje de AppleScript para obtener más información.

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