当mac app崩溃时,CrashReporter对话框不会显示

时间:2012-04-28 02:02:07

标签: macos cocoa

我有一个Mac应用程序商店应用程序,它崩溃时会默默地消失。它没有显示CrashReporter对话框,让用户有机会向Apple报告崩溃。

我在多台机器上看到了相同的行为。有没有任何已知的原因可能会发生这种情况?

根据TN2123

  

此外,如果崩溃的程序作为登录的GUI运行   用户,CrashReporter将向用户显示询问他们的对话框   他们是否想向Apple提交错误报告

“以登录GUI用户身份运行”是什么意思?窗户是否必须可见?

更新

我正在阅读manpage for ReportCrash,并发现以下内容:

  

对于应用程序崩溃(但不是后台进程崩溃)   ReportCrash将显示一个通知用户的对话框   应用程序意外退出并提供重新打开应用程序   或将报告发送给Apple。对于开发人员来说,这个行为   对话框可以使用调整   /Developer/Applications/Utilities/CrashReporterPrefs.app是   作为开发人员工具的一部分安装。

我运行了CrashReporterPrefs并将我的CrashReporter模式更改为Developer。当我运行应用程序并触发崩溃时,显示了CrashReporter对话框!

所以我想现在的问题是:“应用程序”崩溃和“后台进程”崩溃之间有什么区别?

1 个答案:

答案 0 :(得分:2)

如果您的应用使用LSUIElement或LSBackgroundOnly,则为了确定是否显示Crash Reporter,它是一个“后台进程”。 (其他“后台进程”包括UNIX-land守护进程,例如Apache Web服务器,以及从SSH或telnet连接启动的进程。)