我正在编写一个Cocoa应用程序,它将自己安装为菜单栏中的menulet(例如音量或电池图标)。程序崩溃时,无法使用强制退出对话框,因为它不会显示在列表中。当然,我仍然可以使用命令行杀死它,但我的用户不知道如何做到这一点。有没有办法解决这个问题,比如让程序显示在Force-Quit对话框中?
(注意:该应用仅限Leopard)。
答案 0 :(得分:3)
说实话,正确的解决方案是确保您的应用永远不会挂起或崩溃用户。这应该是您的首要任务,而不是弄清楚如何让用户处理崩溃和挂起。显然,并不总是能够确保您的应用程序永远不会以这些方式中断,但它绝对应该是例外而不是规则。
另一方面,MenuExtras是一个私有API,我希望你不是用来创建“menulet”。相反,公共类NSStatusItem(Cocoa的一部分)是Apple批准的推荐方式,用于在菜单栏中安装图标。
答案 1 :(得分:0)
不是真正的答案,但希望仍然有用......
我认为大多数知道如何强制退出的人也知道他们可以杀死活动监视器中的进程。只要确保它没有被命名为'93AZkZ'或其他东西。
答案 2 :(得分:0)
如果您希望允许用户轻松关闭或重新启动它,您可以为您的应用程序提供可以向其发送正确信号的PreferencePane。这是MySQL在OS X上使用的模式。