我有哪些替代方法可以为Mac创建一个.app包?

时间:2011-08-31 17:03:12

标签: macos automator

我有一堆shell脚本和可执行文件,我想将其包装到Mac的独立.app包中。我还需要向用户显示一个输入对话框,这样我就可以获取一个值并将其用作我的一个shell脚本的输入。

我注意到 Automator 允许您创建一个独立的应用程序并将输入对话框添加到工作流程中,但我不清楚如何:

  • 在.app包中包含我的可执行文件
  • 在添加“运行shell脚本”操作时指定相对路径,因此当用户双击.app
  • 时,我可以执行我的可执行文件

另一方面,我找到了appify,它解释了如何将单个bash脚本转换为可点击的.app。很好,但我还需要输入对话框。

我有哪些替代方法可以创建具有上述要求的.app文件?

1 个答案:

答案 0 :(得分:0)

您可以将其包装在.app包中,并让脚本本身通过AppleScript使用osascript命令显示输入对话框:

ans="$(osascript -e 'Tell application "System Events" to activate' \
    -e 'Tell application "System Events" to display dialog "What?" default answer "Fugeddaboutit" buttons {"Yup", "Nope", "Cancel"} default button 1' \
    -e '(button returned of result) & ":" & (text returned of result)' 2>/dev/null)"

if [[ $? -ne 0 ]]; then
    echo "You cancelled!"
else
    echo "You entered '${ans#*:}', and pushed the ${ans%%:*} button."
fi