将开关传递给 Xcode 3.1 用户脚本
题
我有一个用户脚本,如果它可以根据用户的需求动态更改其某些执行,那么它会更有用。通过简单的开关可以很容易地解决这个问题,但我没有看到任何方法可以做到这一点。
我还尝试在脚本名称中嵌入关键字,但是 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 语法。还有其他的(用于文件、文件夹、应用程序等)
不隶属于 StackOverflow