所以我最近.app
为zsh脚本创建了一个包装器,但是当我运行它时,应用程序的图标一直在Dock中跳跃.
该应用基本上是:
% find Example.app -type f Example.app/Contents/Info.plist Example.app/Contents/MacOS/wrapper.sh % cat Example.app/Contents/Info.plist% cat Example.app/Contents/MacOS/wrapper.sh #!/usr/bin/env zsh # not my real script, but something else that hangs for a while sleep 10 % CFBundleExecutable wrapper.sh
你也可以从github上获取它.
有什么方法可以让我的应用程序图标停止跳跃,并像一个普通的应用程序一样,只是坐在旁边有一个三角形?
应用程序的图标将在OS X Dock中弹回,直到应用程序进入其主事件循环并开始响应用户输入.由于您的脚本可能没有运行Carbon或Cocoa事件循环(分别参见Carbon Event Manager和NSApplication的文档),Dock正在等待,期望出现常规的前台GUI应用程序.
我成功的脚本包装工具是Platypus.它可以在执行脚本时运行自己的事件循环,并执行许多其他方便的操作.