Mic*_*old 3 iphone objective-c ios
我有一个用户(带有iPhone 5)报告我的应用程序在屏幕变黑(闪屏为黑色)后大约15秒内在启动时崩溃.用户下载了TestFlight构建,其中我在App委托中包含了检查点,但是我没有得到证据证明这些检查点已经过了,我从未收到过崩溃报告.
我将故事板上的入口点更改为空白视图控制器,现在我可以看到检查点正在交叉.我发现Watchdog暂停了应用程序,因为故事板资源需要很长时间才能加载,但所有图像都是根据需要实时构建的,除了四个小的标签栏图标.有几个音频文件,但它们是按需加载的.我想不出任何可能造成延误的其他资源.没有人报告过这个问题,我很难过.
有任何见解,特别是我没有看到来自TestFlight的崩溃报告或检查点的原因.
你的假设是正确的,看门狗杀死了应用程序.这是因为应用程序无法正常启动,主线程被阻止或无法进行用户交互,因为没有加载UI.
据我了解您的描述,您在加载时创建资源?并且可能在主线程上执行此操作?您应该尝试将资源饥饿的代码卸载到后台线程中,而不是在主线程上执行此操作,其中较旧/较慢的设备可能需要比预期更长的时间.UI应始终具有响应性,主线程永远不应该处理任何可能接近一秒处理的任务.
另一个原因可能是故事板和视图控制器之间的链接被破坏,实际上它从未在该设备类型上加载.
但如果没有更多细节,就不可能说明到底发生了什么.
一般情况下:如果应用程序被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没有使用它.但是一般语句是相同的)
| 归档时间: |
|
| 查看次数: |
3074 次 |
| 最近记录: |