应用程序崩溃,但没有TestFlight崩溃报告

我有一个用户(用iPhone 5)报告说,在屏幕变黑(屏幕显示为黑色)后约15秒,我的应用程序崩溃。 用户下载了一个TestFlight版本,我在这个App代理中包含了检查点,但是我没有证据certificate这些检查点是交叉的,我从来没有收到崩溃报告。

我将故事板上的入口点改为空白视图控制器,现在我可以看到检查点正在被越过。 由于故事板资源的加载时间过长,看门狗正在暂停应用,但所有图像都是根据需要实时构build的,除了四个小小的标签栏图标之外。 有几个audio文件,但它们是按需加载的。 我想不出任何可能造成延误的其他资源。 没有人报告过这个问题,我很难过。

任何洞察力的赞赏,特别是为什么我没有看到来自TestFlight的崩溃报告或检查点。

你的假设是正确的,看门狗杀了应用程序。 这是因为应用程序无法正常启动,并且主线程被阻塞,或者由于没有加载UI而无法进行用户交互。

据我了解你的描述,你正在加载时创build的资源? 而且可能在主线程上这样做? 您应该尝试将资源饥饿的代码卸载到后台线程中,而不是在主线程上执行此操作,而较慢/较慢的设备可能需要比预期更长的时间。 用户界面应该始终是响应式的,主线程永远不应该处理任何接近一秒处理的任务。

另一个原因可能是故事板和视图控制器之间的链接被破坏,并且它实际上从不加载该设备types。

但没有更多细节,就不可能说出究竟是怎么回事。

一般情况下:如果应用程序被iOS系统杀死,例如由于启动时间超过或由于分配太多内存而导致看门狗死机,那么只有iOS可以生成崩溃报告。

问题是,该应用程序被杀害,在这种情况下,该进程被杀害。 而且这个过程中运行的任何代码都不能被检测到。 而且,除了基于iOS系统的崩溃记者以外,iOS上的崩溃报告都是在被杀死的同一个应用程序进程中运行,他们不能报告或写入任何崩溃报告。

下面的页面提供了更多的细节: http : //support.hockeyapp.net/kb/how-tos-faq/which-types-of-crashes-can-be-collected-on-ios-and-os- x (虽然有PLCrashReporter的上下文,TestFlight没有使用这个上下文,但是一般的陈述是一样的)