Estoy construyendo una especie de "Asistente" que utiliza Automator y algo de Appliescript, y al final me gustaría que generara una "Aplicación Automator" que haga cosas cuando se lance, que estén basadas en las entradas del asistente.
¿Es esto posible? ¿Puede un flujo de trabajo de Automator, generar realmente una aplicación a partir de los resultados? Sé que el software puede crear software, pero ¿es esto posible dentro de las capacidades de Automator?
EDIT: Como se señala en los comentarios debajo del post, osacompile
parece que podría llevarme a donde quiero ir, pero ahora tengo un nuevo problema con eso.
Aquí hay una captura de pantalla de mis pasos del automatizador:
Aquí está el código del módulo de error (Send iMessage):
on run {input, parameters}
set sms_address to item 1 of input
set email_address to item 2 of input
set sms_content to item 3 of input
set email_subject to item 4 of input
set email_body to item 5 of input
set savePath to (path to desktop as text) & "test.scpt"
set code to "osacompile -e 'tell application \"Messages\"' -e '
set imessageservice to 1st service whose service type = iMessage' -e '
set iMessageBuddy to buddy " & sms_address & " of imessageservice' -e '
send " & sms_content & " to iMessageBuddy' -e '
end tell' -o " & quoted form of POSIX path of savePath
do shell script code
return input
end run
Tenga en cuenta que las líneas están divididas de esa manera porque fue el único enfoque que pude encontrar en el que no obtuve ningún error sólo por añadir saltos de línea (puedo poner este código todo en una línea y obtener el mismo error)
Este es el error que recibo:
No he sido capaz de averiguar cuál es el problema aquí, pero parece que no estoy pasando las variables en la forma en que un bash script espera. He probado un montón de otros enfoques y nada ha funcionado mejor, pero este es el que parece más sensato para mí, sabiendo cómo yo normalmente pasar las variables en un script.
EDIT 2: Para simplificar aún más, aquí está el código independiente que estoy depurando actualmente en el Editor de AppleScript y sin saltos de línea para no confundir el tema:
set sms_address to "person@gmail.com"
set sms_content to "sms content"
set savePath to (path to desktop as text) & "test.scpt"
set code to "osacompile -e 'tell application \"Messages\"' -e ' set imessageservice to 1st service whose service type = iMessage' -e 'set iMessageBuddy to buddy " & sms_address & " of imessageservice' -e 'send " & sms_content & " to iMessageBuddy' -e 'end tell' -o " & quoted form of POSIX path of savePath
do shell script code