4

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

我在多台机器上看到相同的行为。是否有任何已知的原因导致这种情况发生?

根据TN2123

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

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

更新:

我正在阅读ReportCrash的手册页,发现以下内容:

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

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

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

4

1 回答 1

2

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

于 2012-04-30T14:06:25.160 回答