AppleScript не соответствует из-за изображения - PullRequest
0 голосов
/ 30 мая 2018

Я использую следующий код для загрузки изображения:

alias ((path to me) & "Contents:Resources:FCPXporter.icns" as string))

Но я получаю сообщение об ошибке:

error "Псевдоним файла Macintosh HD: Пользователи: apple: Загрузки: FCPXporter_Version_3.1.scptContents: Ресурсы: FCPXporter.icns из «script» не найден. "число -43

Как мне это исправить?

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

Рекомендуемый синтаксис:

alias ((path to me as string) & "Contents:Resources:FCPXporter.icns")

Он надежно обрабатывает разделители пути.

Но у вашего скрипта нет папки Resources, поскольку он был сохранен как обычный скомпилированный скрипт.

Два возможных решения:

  • Сохраните файл в виде набора скриптов (.scptd), поместите значок в папку - теперь присутствует - Resources и используйте приведенный выше код.
  • Если значок должен находиться на том же уровне, что и сценарий, используйте

    set myself to path to me
    tell application "System Events" to set parentFolder to (path of container of myself)
    set theImage to (parentFolder & "FCPXporter.icns") as alias
    
0 голосов
/ 30 мая 2018

В вашем коде ваш файл сценария имеет расширение «.scpt», но ваш файл сценария должен быть сохранен как пакет сценариев (.scptd) или как приложение (.app), чтобы иметь папку «Resources»

set theImage to (path to me as string) & "Contents:Resources:FCPXporter.icns" as alias

-- Returns value.. alias "Macintosh HD:Users:apple:Downloads:FCPXporter_Version_3.1.scptd:Contents:Resources:FCPXporter.icns"
0 голосов
/ 30 мая 2018

Похоже, вам не хватает разделителя пути - попробуйте изменить:

alias ((path to me) & "Contents:Resources:FCPXporter.icns" as string))

на

alias ((path to me) & ":Contents:Resources:FCPXporter.icns" as string))


Если это не помогло, проверьте, что файлна самом деле существует в указанном месте - перейдите в терминал и:
ls "Macintosh HD/Users/apple/Downloads/FCPXporter_Version_3.1.scpt/Contents/Resources/FCPXporter.icns"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...