将开关传递给Xcode 3.1用户脚本

时间:2020-03-05 18:48:42  来源:igfitidea点击:

我有一个用户脚本,如果它可以根据用户的需要动态地更改其某些执行,它将更加有用。通过简单的开关可以轻松解决此问题,但是我看不到任何解决方法。

我还尝试在脚本名称中嵌入关键字,但是Xcode在执行之前将脚本复制到具有guid外观的文件名中,因此也不起作用。

那么,有谁知道用某种参数调用用户脚本的方法吗? (除了正常的" %%% var %%%%"变量)

编辑:

通过Xcode菜单栏中的脚本菜单(在"窗口"和"帮助"菜单之间)可以访问用户脚本。我的问题不是关于"运行脚本"构建阶段脚本的。我为离开这个模棱两可的事而道歉。

解决方案

回答

通过Xcode菜单栏中的脚本菜单(在"窗口"和"帮助"菜单之间)可以访问用户脚本。不知道该怎么称呼他们。我要问的不是"运行脚本"构建阶段脚本。

回答

我想你可以做这样的事情:

#!/bin/bash
result=$( osascript << END
tell app "System Events"
  set a to display dialog "What shall be the result?" default answer ""
end tell
return text returned of a
END
)
# do stuff with $result

回答

我们不能将参数传递给用户脚本,用户脚本可以在我们正在使用的上下文中运行(例如,选定的文件,选定的文本等)。

我们应该使用上下文来确定用户的真正需求。

回答

内置的实用程序脚本可让我们提示用户并捕获答复。

例如,我们可以提示输入一个字符串,然后根据该字符串执行特定任务。

字符串提示是:

STRING = `%%%{PBXUtilityScriptsPath}%%%/AskUserForStringDialog "DefaultString" "DefaultWindowName"`

如果我们注意到,我们只是在调用他们使用静态路径编写的applescript。如果需要,我们可以编写自己的applescript对话框并将其放置在此处,而无需繁琐的osascript语法。还有其他(用于文件,文件夹,应用程序等)

用户脚本文档