如何在 MacOS 中创建一个 droplet(拖放)(go)程序?
How to create a droplet (drag and drop) (go) program in MacOS?
我有一个 go 程序可以创建 pdf 文件的预览。它像这样在命令行中使用
myprogram my_file1.pdf my_file2.pdf ... <enter>
> my_file1.pdf
> enter resolution
> 600 <enter>
> OK
> my_file2.pdf
> enter resolution
...
我想使用它只是将文件拖到程序上(就像在 Windows 上一样),但是在 MacOS.[= 中这似乎很难做到13=]
到目前为止我得到了什么:
似乎 Mac 将程序识别为 droplet 我们需要使用 Script Editor 和 openDocuments
方法创建应用程序,所以我做到了像
var app = Application.currentApplication();
app.includeStandardAdditions = true;
function openDocuments(droppedItems) {
// ...
app.doShellScript(cmd)
}
而且成功了!除了我不能得到输入分辨率的提示,所以每个文件都使用默认的=/
有没有人知道如何在前台制作我的程序 运行,以便用户可以输入数据?
提前致谢
终于成功了!
诀窍是 app.doShellScript(cmd)
我应该 运行 命令 Application("Terminal").doScript(cmd)
我有一个 go 程序可以创建 pdf 文件的预览。它像这样在命令行中使用
myprogram my_file1.pdf my_file2.pdf ... <enter>
> my_file1.pdf
> enter resolution
> 600 <enter>
> OK
> my_file2.pdf
> enter resolution
...
我想使用它只是将文件拖到程序上(就像在 Windows 上一样),但是在 MacOS.[= 中这似乎很难做到13=]
到目前为止我得到了什么:
似乎 Mac 将程序识别为 droplet 我们需要使用 Script Editor 和 openDocuments
方法创建应用程序,所以我做到了像
var app = Application.currentApplication();
app.includeStandardAdditions = true;
function openDocuments(droppedItems) {
// ...
app.doShellScript(cmd)
}
而且成功了!除了我不能得到输入分辨率的提示,所以每个文件都使用默认的=/
有没有人知道如何在前台制作我的程序 运行,以便用户可以输入数据?
提前致谢
终于成功了!
诀窍是 app.doShellScript(cmd)
我应该 运行 命令 Application("Terminal").doScript(cmd)