Cocoa OSX-应用程序不';I don’’我不能强行到场。我该如何解决这个问题?

Cocoa OSX-应用程序不';I don’’我不能强行到场。我该如何解决这个问题?,cocoa,macos,Cocoa,Macos,我正在编写一个Cocoa应用程序,它将自己作为菜单栏中的菜单集安装(如音量或电池图标)。当程序崩溃时,无法使用“强制退出”对话框,因为它不会显示在列表中。当然,我仍然可以使用命令行杀死它,但我的用户不知道如何做到这一点。有没有办法解决这个问题,比如让程序显示在“强制退出”对话框中 (注意:该应用程序仅适用于Leopard) 这不是一个真正的答案,但希望还是有帮助的 我认为大多数知道如何强制退出的人也知道他们可以在活动监视器中终止进程。只需确保它没有命名为“93AZkZ”或其他名称。如果您想让用户

我正在编写一个Cocoa应用程序,它将自己作为菜单栏中的菜单集安装(如音量或电池图标)。当程序崩溃时,无法使用“强制退出”对话框,因为它不会显示在列表中。当然,我仍然可以使用命令行杀死它,但我的用户不知道如何做到这一点。有没有办法解决这个问题,比如让程序显示在“强制退出”对话框中


(注意:该应用程序仅适用于Leopard)

这不是一个真正的答案,但希望还是有帮助的


我认为大多数知道如何强制退出的人也知道他们可以在活动监视器中终止进程。只需确保它没有命名为“93AZkZ”或其他名称。

如果您想让用户以一种简单的方式关闭或重新启动应用程序,您可以为应用程序提供一个首选项窗格,向其发送适当的信号。这是MySQL在OS X上使用的模式。

老实说,正确的解决方案是确保您的应用程序不会因用户而挂起或崩溃。这应该是你的首要任务,而不是弄清楚如何让用户处理崩溃和挂起。显然,不可能总是确保你的应用程序不会以这些方式出现故障,但这肯定是个例外,而不是规则


另一方面,MenuExtras是一个私有API,我希望您不要使用它来创建“menulet”。相反,公共类NSStatusItem(Cocoa的一部分)是苹果公司批准的、推荐的将图标安装到菜单栏中的方法。

不过,他们不需要知道如何强制退出就可以了。“在我安装了你的应用程序之后,我的笔记本电脑开始变得非常热了!”[因为它以100%的CPU运行]事实上,我问这个问题正是因为我的一些用户不知道如何使用活动监视器,但知道强制退出!(嘿,我只是在这里工作。:-)嗯。对于位于菜单栏中的轻量级程序来说,这是很大的开销。。。但如果没有其他事情发生,也许这就是我要做的。或者我想我可以把它做成防撞的。好吧,这不是关于重量的问题。它是“我有什么选择来提供对(大部分)匿名流程的访问?”。除了告诉用户去活动监视器,或者使用
ps
,你没有什么别的办法。仪表板小部件怎么样?很公平。如果这个问题继续困扰着人们,我可能不得不采取其中一种解决办法。感谢您的洞察力。:-)这就是我想说的。我不想使用可能挂起的menulet应用程序。