Errore durante l'invio di file POSIX come allegato con iMessage

3

Quindi ho questo applescript che prova ad afferrare tutte le immagini da una cartella e le invia ad un amico tramite iMessage.

La cartella è strutturata in questo modo:

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

Il problema è che quando leggo tutti i file su una variabile come stringa e poi provo a impostarli su POSIX file ottengo l'errore:

Messages got an error: Can’t get POSIX file "/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

Come posso impostare imageAttachment correttamente su POSIX file in modo che possa inviarlo con iMessage?

    
posta Seth 26.08.2016 - 23:43
fonte

1 risposta

3

Si sta eseguendo il sandboxing di AppleScript. L'applicazione Messaggi non ha accesso per aprire quel file. Il trucco è trasformare i percorsi in file POSIX al di fuori dei blocchi tell. Ciò consentirà al motore dell'autorizzazione di passare il diritto nel blocco tell in modo che l'applicazione possa aprirlo.

Questo codice funziona:

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
    
risposta data 27.08.2016 - 01:52
fonte

Leggi altre domande sui tag