Почему перетаскивание папки в приложение Applescript отображает диалоговое окно? - PullRequest
0 голосов
/ 16 октября 2018

У меня есть приложение Applescript, которое может получать файлы или папки, перетащенные на его значок:

on open theDroppedItems
    tell application "Finder"
       set droppedItemSourcePath to (the POSIX path of theDroppedItems)
       ...

На этом этапе сценария, когда мое приложение получает файл или папку, неизвестный и бесполезный ApplescriptПриложение с именем «Droplet» отображает диалог открытия файла / папки.Мой сценарий был скомпилирован как приложение с помощью Script Debugger 6.

Я не понимаю, почему это странное приложение "Droplet" спрашивает меня о чем-то.

1 Ответ

0 голосов
/ 16 октября 2018

Ошибка в том, что theDroppedItems - это список из alias спецификаторов, даже если был отброшен только один файл, и при получении пути к списку POSIX выдается ошибка

.все пути POSIX отброшенных элементов используют

on open theDroppedItems
    set {TID, text item delimiters} to {text item delimiters, return}
    set droppedItemsSourcePaths to POSIX path of (theDroppedItems as text)
    set text item delimiters to TID
    display dialog droppedItemsSourcePaths buttons {"OK"} default button "OK"
...

Для обработки файлов один за другим используйте цикл

on open theDroppedItems
    repeat with anItem in theDroppedItems
      -- do something with anItem
    end repeat

...

Используйте блок Finder tell, только если вы собираетесь использоватьТерминология поиска.

Упомянутое Droplet - ваше приложение.

...