【问题标题】:Passing switches to Xcode 3.1 user scripts将开关传递给 Xcode 3.1 用户脚本
【发布时间】:2010-09-08 00:42:51
【问题描述】:

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

我也尝试在脚本名称中嵌入关键字,但 Xcode 在执行前将脚本复制到一个类似于 guid 的文件名,所以这也不起作用。

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


编辑:

用户脚本可以通过 Xcode 菜单栏中的脚本菜单访问(在窗口和帮助菜单之间)。我的问题不是关于“运行脚本”构建阶段脚本。我很抱歉让这个有点模棱两可。

【问题讨论】:

    标签: xcode scripting arguments xcode3.1


    【解决方案1】:

    您不能将参数传递给用户脚本 - 相反,用户脚本在您正在工作的上下文中运行(例如,选定的文件、选定的文本等)。

    您应该使用上下文来确定用户真正想要什么。

    【讨论】:

      【解决方案2】:

      用户脚本可以通过 Xcode 菜单栏中的脚本菜单访问(在窗口和帮助菜单之间)。不知道还能叫他们什么。我要问的不是“运行脚本”构建阶段脚本。

      【讨论】:

        【解决方案3】:

        我想你可以这样做:

        #!/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
        

        【讨论】:

          【解决方案4】:

          内置实用程序脚本,可让您提示用户并捕获回复。

          例如,您可以提示输入一个字符串,然后根据该字符串执行某项任务。

          字符串提示是:

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

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

          User Scripts Documenation

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-10-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-16
            • 1970-01-01
            • 2013-09-01
            相关资源
            最近更新 更多