2014-11-20 37 views
0

我有一个简单的命令行应用程序OSX make命令行应用程序显示图标,在码头,同时运行

#include <unistd.h> 

int main(int argc, const char* argv[]) { 
    sleep(100); 
    return 0; 
} 

是否有可能作出这样的命令行应用程序显示在Dock中的图标,而它的运行还是我把它变成一个完整的应用程序包?

+0

有可能,WINE做到了这一点(尽管它可能需要一个GUI窗口,不确定)。对于典型的命令行应用程序,这听起来很奇怪。你为什么想做这个? – 2014-11-20 22:48:06

+0

因为我的命令行应用程序创建了一个模态对话框。但是该对话框可能出现在其他窗口的后面,除了关闭/移动/最小化所有其他窗口之外,用户无法找到它。向文档添加图标意味着他们可以找到对话框。 – gman 2014-11-20 22:54:15

+0

@ AlexanderO'Mara,Wine的Mac驱动程序选择不将后台进程转换为前台应用程序,直到Windows程序显示一个窗口,但这不是框架所要求的。 – 2014-11-21 03:02:58

回答

1

鉴于应用程序创建了模态对话框,我假设它使用可可。在这种情况下,您可以在显示对话框的位置执行[[NSApplication sharedApplication] setActivationPolicy:NSApplicationActivationPolicyRegular]

你应该知道Dock可能会显示一个奇怪的图标。在优胜美地之前,非捆绑的可执行文件有一个通用图标,看起来有点像终端窗口,其中包含“exec”字样。标题将是可执行文件的名称。在优胜美地,非捆绑可执行文件的Dock图标将是包含可执行文件的文件夹/目录的图标。它的标题也是该文件夹的名称。 (就我而言,这是对苹果公司的一个可怕的决定,但你打算怎么办?)

+0

谢谢。其实这似乎是一个很好的决定。让你选择一个相对容易的图标。理想情况下,我希望能够在10.9中选择一个图标。我尝试设置'sharedApplication.applicationIconImg',但没有运气:( – gman 2014-11-21 03:57:32

+0

不知道如何在XCode中做到这一点,但我可以在命令行应用程序的文件中查找器中执行GetInfo并粘贴图标。图标显示在文档中不确定如何在XCode中自动执行该过程。 – gman 2014-11-21 05:17:56

相关问题