Я получаю «Документ [имя файла] не может быть открыт. У вас нет разрешения »при попытке доступа к нескольким файлам в AppleScript. Тем не менее, я могу открыть эти файлы вручную без проблем.
Я попытался следующее:
- Вручную измененное разрешение через
File->Get Info
- Используется Дисковая утилита для "Проверка" и "Восстановление прав доступа"
- Перезагружен в режиме восстановления для сброса разрешений и каталогов домашнего каталога
Я продолжаю иметь проблему.
Чтобы добавить дальнейшее разочарование, файлы не всегда сообщают об ошибке. Иногда я получаю ошибку в файле при запуске скрипта, но не в следующий раз!
Почему я могу получить эту ошибку разрешений, и как еще я могу ее исправить?
AppleScript ниже, если это поможет:
-- prompt for source directory
set srcDirectory to (choose folder)
-- get list of all files in source directory
set allFiles to (list folder srcDirectory without invisibles)
tell application "OmniGraffle"
-- create a new document
set newDocument to (make new document with properties {template:"Single Pixel Grid"})
-- added for debug purposes
delay 5
-- get a reference to the first layer
set destinationLayer to first layer in first canvas of newDocument
-- step through each of the file
repeat with currentFile in allFiles
-- get a reference to the next file
set srcFileString to (srcDirectory as string) & currentFile
set srcFileRef to (open srcFileString)
-- get a reference to the icon
set srcGraphic to first graphic in first layer in first canvas of srcFileRef
-- flip the icon (they're all upside down)
flip srcGraphic over vertically
-- copy the updated source to destination canvas
duplicate srcGraphic to destinationLayer
-- close the source file
close srcFileRef saving no
-- added for debug purposes
delay 5
end repeat
end tell