无法找到崩溃的原因 -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded:finished:] [英] Unable to find reason for Crash on -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded:finished:]

查看:19
本文介绍了无法找到崩溃的原因 -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded:finished:]的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的应用程序中,经常报告带有以下日志的许多崩溃,但即使使用多个测试设备和 iOS 版本,我也无法重现它.所以没有办法在 Xcode 上找到原因.因为跟踪中没有任何步骤导致我的代码,所以我无法想象有任何方法可以找到它的来源.应用程序本身非常复杂,当然也使用了许多嵌入的滚动视图.

In my app many crashes with the following log are reported very often, but even with several test devices and iOS versions I am not able to reproduce it. So there's no way to find the reason on Xcode. Because there's no step in the trace, that leads to my code, I cannot imagine any way to find the origin of it. The App itself is very complex and of course many Scroll Views, also embedded, are used.

有人知道从哪里开始寻找吗?或者以前有人遇到过类似的问题吗?

Has anyone an idea where to start looking? Or has anyone had a similar problem before?

非常感谢您的帮助!

最好的问候,弗洛里安

OS Version:      iPhone OS 6.0.1 (10A523)
Report Version:  104

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0xd1d28fbc
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                     0x392e65b0 objc_msgSend + 16
1   UIKit                               0x35a839f7 -[UIScrollView(UIScrollViewInternal)  _scrollViewAnimationEnded:finished:] + 135
2   UIKit                               0x35a838e9 -[UIAnimator stopAnimation:] + 469
3   UIKit                               0x35b1e257 -[UIAnimator(Static) _advanceAnimationsOfType:withTimestamp:] + 295
4   UIKit                               0x35a83381 -[UIAnimator(Static) _LCDHeartbeatCallback:] + 53
5   QuartzCore                          0x323d3071 CA::Display::DisplayLink::dispatch(unsigned long long, unsigned long long) + 161
6   QuartzCore                          0x323d2fc9 CA::Display::IOMFBDisplayLink::callback(__IOMobileFramebuffer*, unsigned long long, unsigned long long, unsigned long long, void*) + 65
7   IOMobileFramebuffer                 0x340befd7 IOMobileFramebufferVsyncNotifyFunc + 155
8   IOKit                               0x35ee8449 IODispatchCalloutFromCFMessage + 193
9   CoreFoundation                      0x339605db __CFMachPortPerform + 119
10  CoreFoundation                      0x3396b173 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 35
11  CoreFoundation                      0x3396b117 __CFRunLoopDoSource1 + 139
12  CoreFoundation                      0x33969f99 __CFRunLoopRun + 1385
13  CoreFoundation                      0x338dcebd CFRunLoopRunSpecific + 357
14  CoreFoundation                      0x338dcd49 CFRunLoopRunInMode + 105
15  GraphicsServices                    0x33f222eb GSEventRunModal + 75
16  UIKit                               0x3596a2f9 UIApplicationMain + 1121
17                                 0x00005233 main (main.m:14)

推荐答案

我也遇到了同样的崩溃.原来是因为我们正在使用 [controller setContentOffset:newPt animated:YES] 为控制器设置动画,并且我们在控制器上实现了 scrollViewDidScroll 委托方法.单击屏幕上的一个按钮可以让您前进到另一个控制器,因此如果用户在动画进行时设法单击该按钮,我们会遇到原始海报的崩溃.解决方法就是在 dealloc 中将 delegate 设置为 nil.

I had the same crash. It turned out to be because we were animating a controller with [controller setContentOffset:newPt animated:YES], and we implemented the scrollViewDidScroll delegate method on the controller. Clicking a button on the screen let you advance to another controller, so if a user managed to click the button while the animation was in progress, we would hit the original poster's crash. The solution is simply to set the delegate to nil in dealloc.

这篇关于无法找到崩溃的原因 -[UIScrollView(UIScrollViewInternal) _scrollViewAnimationEnded:finished:]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆