Error al enviar el archivo POSIX como archivo adjunto con iMessage

3

Así que tengo este applecript que intenta tomar todas las imágenes de una carpeta y las envía a un amigo a través de iMessage.

La carpeta tiene una estructura similar:

Desktop
  my-folder
    image-1
    image-2
    image-2

El problema es que cuando leo todos los archivos en una variable como una cadena y luego trato de establecerlos en POSIX file me sale el error:

  

Los mensajes recibieron un error: no se puede obtener el archivo POSIX   "/ Users / user / Desktop / my-folder / image-name".

do shell script "rm -f ~/Desktop/my-folder/.DS_Store"

tell application "System Events"
    set imgs to POSIX path of disk items of folder "~/Desktop/my-folder"
end tell

tell application "Messages"
    set targetServiceId to id of 1st service whose service type = iMessage
    set theBuddy to buddy "redacted phone#" of service id targetServiceId

    repeat with img in imgs
        set imageAttachment to POSIX file img # errors
        send imageAttachment to theBuddy
    end repeat
end tell

¿Cómo puedo configurar imageAttachment correctamente en POSIX file para que pueda enviarlo con iMessage?

    
pregunta Seth 26.08.2016 - 23:43

1 respuesta

3

Se está ejecutando en sandbox de AppleScript. La aplicación de Mensajes no tiene acceso para abrir ese archivo. El truco consiste en convertir las rutas a los archivos POSIX fuera de los bloques indicativos. Esto permitirá que el motor de asignación de derechos pase la asignación de derechos al bloque tell para que la aplicación pueda abrirla.

Este código funciona:

tell application "System Events"
    set paths to POSIX path of disk items of folder "~/Desktop/my-folder"
end tell

set imgs to {}
repeat with f in paths
    set imgs to imgs & (POSIX file f)
end repeat

tell application "Messages"
    set targetServiceId to id of 1st service whose service type = iMessage
    set theBuddy to buddy "redacted" of service id targetServiceId
    repeat with img in imgs
        send img to theBuddy
    end repeat
end tell
    
respondido por el Alan Shutko 27.08.2016 - 01:52

Lea otras preguntas en las etiquetas