【发布时间】:2015-03-18 12:22:26
【问题描述】:
我使用 fabric.io 来跟踪用户设备上的崩溃。我收到许多带有以下堆栈跟踪的崩溃报告:
0 libobjc.A.dylib 0x33e9ef46 objc_msgSend + 5
1 UIKit 0x29698225 +[UIViewController _viewControllerForFullScreenPresentationFromView:] + 196
2 UIKit 0x29697cfb -[UIWindow _scrollToTopViewsUnderScreenPointIfNecessary:resultHandler:] + 442
3 UIKit 0x29697b1f -[_UIScrollsToTopInitiatorView touchesEnded:withEvent:] + 214
4 UIKit 0x29697a41 -[UIStatusBar touchesEnded:withEvent:] + 416
5 UIKit 0x295fc245 forwardTouchMethod + 236
6 UIKit 0x294ae567 -[UIWindow _sendTouchesForEvent:] + 522
7 UIKit 0x294a7e31 -[UIWindow sendEvent:] + 544
8 UIKit 0x2947e759 -[UIApplication sendEvent:] + 196
9 UIKit 0x296f22f9 _UIApplicationHandleEventFromQueueEvent + 14168
10 UIKit 0x2947d1a9 _UIApplicationHandleEventQueue + 1352
11 CoreFoundation 0x25f27fbf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
12 CoreFoundation 0x25f273cf __CFRunLoopDoSources0 + 218
13 CoreFoundation 0x25f25a35 __CFRunLoopRun + 772
14 CoreFoundation 0x25e733b1 CFRunLoopRunSpecific + 476
15 CoreFoundation 0x25e731c3 CFRunLoopRunInMode + 106
16 GraphicsServices 0x2d3d3201 GSEventRunModal + 136
17 UIKit 0x294dd43d UIApplicationMain + 1440
所以在整个堆栈跟踪中,我的代码没有一行。我想不出发生这种情况的任何原因。
有没有人有同样的问题或想法如何解决这个问题?
提前致谢
【问题讨论】:
-
我有类似的崩溃,也没有在堆栈跟踪中看到我的任何代码。你找到解决方案了吗。如果有,可以分享一下吗?
-
好吧,在我的情况下,添加和删除了几次添加和删除的 ui-view。看起来视图没有被正确删除,所以操作系统试图在一个不再存在的对象上调用函数。但我不知道它是哪个对象,所以我用滑出代替了删除
-
感谢您的信息!!就我而言,这是一个双重通知注册搞砸了整个事情..
-
@user2055359,我在没有明确的解决方案的情况下面临类似的问题,您能否详细说明将删除替换为滑出是什么意思?谢谢
-
当用户点击状态栏时会触发此崩溃堆栈跟踪,它用于框架的“滚动到顶部”功能。我们遇到了同样的问题,它涉及一个不再在视图层次结构中但仍以某种方式被引用的视图。重现它的最佳方法是激活 NSZombie 调试并在应用程序的各种视图中点击状态栏。在我们的例子中,它是来自 UIWebviews 的私有子视图,当我们从视图层次结构中删除 UIWebview 但将其保留在内存中以进行一些屏幕外处理时,它会导致问题。
标签: ios uiviewcontroller crash uikit fullscreen