Mi objetivo es incluir en un archivo zip lo que equivale a un acceso directo, en lugar de decirle a mi(s) cliente(s) que abra(n) el Terminal y ejecute(n) un script de shell</strkeep><strkeep>.
Mi desplegable tiene esencialmente este aspecto:
$ unzip Deliverable.zip
$ cd Deliverable; ls
app.jar run.sh
scripten run.sh
:
#!/bin/sh
java -jar app.jar
Hay mucho más en el directorio; basta con decir que necesito ejecutar el script desde el directorio Entregable ya que necesito acceder a las rutas relativas a ella. Sin embargo, no puedo garantizar dónde va a abrir un cliente Deliverable.zip
(podría ser el directorio de inicio, podría estar justo en el directorio de descargas, etc.)
He encontrado este que describe cómo crear un nuevo flujo de trabajo en Automator, y luego guardarlo como una aplicación para lanzar un shell script. Traté de hacer eso para envolver run.sh
pero dice que no puede encontrar run.sh
.
Alguien me sugirió que usara applescript y también me envió un enlace sobre cómo usar applescript para cambiar al directorio actual; hay una "acción" de applescript en automator; así que hice un nuevo flujo de trabajo con eso, y lo guardé como una aplicación. Esto es lo que parece:
El código:
on run {input, parameters}
tell application "Finder"
set current_path to container of (path to me) as alias
end tell
do shell script "java -jar app.jar"
return input
end run
Y este es el error que recibo cuando lo ejecuto:
Vamos, esto debería ser bastante sencillo. ¿Qué estoy haciendo mal aquí?
0 votos
Bueno, acabo de publicar una actualización con un applescript más simple, pero veo que se me adelantó con una respuesta que debería funcionar mejor para usted por grgarside. :-)
0 votos
El título de esta pregunta no representa la pregunta real, así que he votado en contra. La pregunta es más estrecha: se trata de resolver un problema con el mensaje de error "Las aplicaciones PowerPC ya no son compatibles" y esto es lo que debería estar en el título de la pregunta. En realidad estoy buscando la respuesta a cómo crear un paquete de aplicaciones. El OP sabe cómo crear un paquete, pero se encontró con un error.