Cocoa:在运行时添加另一个停靠图标
Posted
技术标签:
【中文标题】Cocoa:在运行时添加另一个停靠图标【英文标题】:Cocoa: add another dock icon at runtime 【发布时间】:2011-09-11 15:06:46 【问题描述】:是否可以在不使用[NSWorkspace launchApplication:]
的情况下在运行时向停靠栏添加另一个图标?
怎么做?
在你说“不”之前:我愿意使用 fork()
之类的东西。
我实际上尝试了fork()
,但我得到了错误:
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
【问题讨论】:
【参考方案1】:启动另一个应用程序,例如通过[NSWorkspace launchApplication:]
.
【讨论】:
在我的用例中,我无法真正使用对文件系统的任何访问权限。 你为什么不能?这是一个奇怪且不切实际的限制。 @Jonathan:嗯,我的情况就是这样。 连你自己的应用程序包都不行? 抱歉,Albert,但这不是 Mac OS X 上的真实情况。如果您的进程可以访问任何其他内容,则它具有文件系统访问权限。【参考方案2】:如果你想在 Dock 中添加一个额外的图标,Yuji 的回答是最简单的解决方案。 如果您想更改应用的现有图标,可以创建 Dock 磁贴插件。 这些插件是在 Snow Leopard 中引入的,即使您的应用程序未运行,它们也允许您显示小信息。 (就像 iCal 的图标,它总是显示当前日期)。
Apple 的 Dock 磁贴插件文档:http://developer.apple.com/library/mac/#documentation/Carbon/Conceptual/customizing_docktile/CreatingaDockTilePlug-in/CreatingaDockTilePlug-in.html#//apple_ref/doc/uid/TP30000986-CH4-SW1
【讨论】:
以上是关于Cocoa:在运行时添加另一个停靠图标的主要内容,如果未能解决你的问题,请参考以下文章