为什么将文件夹拖放到 Applescript 应用程序上会显示一个对话框?

Why dropping folder onto an Applescript app displays a dialog?

我有一个 Applescript 应用程序,可以接收拖放到其图标上的文件或文件夹:

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

在脚本的这一点上,当我的应用程序接收到文件或文件夹时,名为 "Droplet" 的未知且无用的 Applescript 应用程序会显示一个打开的 file/folder 对话框。 我的脚本是使用 Script Debugger 6 编译为应用程序的。

我不明白为什么这个奇怪的 "Droplet" 应用会问我一些事情。

错误是 theDroppedItemslistalias 说明符,即使只有一个文件被删除并获得 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 术语时才使用 Finder tell 块。

提到的 Droplet 是您的应用程序。