我一直在尝试创建一个脚本,该脚本将生成所有可用服务名称的 XML 结构。它在脚本编辑器中运行良好,但不能从命令行运行。我的代码是:
ObjC.import("Cocoa");
ObjC.import("AppKit");
function run(arg) {
items = $.NSApp.servicesMenu.itemArray;
list = "<items>";
count = 0;
items.enumerateObjectsUsingBlock(function( obj, index, stop ){
list += "<item uid='Service" + count + "' arg='" + obj.title.UTF8String + "' valid='yes' autocomplete='" + obj.title.UTF8String + "'><title>" + obj.title.UTF8String + "</title><subtitle>Services Toolbox</subtitle><icon>icon.png</icon></item>";
count++;
});
list += "</items>";
return list;
}
此代码将在 Alfred 工作流程中使用。关于如何改变它的任何想法?
据我所知,在 osascript 解释器中运行它没有服务菜单,但脚本编辑器有。我怎样才能解决这个问题以获取服务列表?