2012-11-07 127 views
2

我有一个提交给iTunes的崩溃日志。我不知道如何重现这个问题,所以我很难排除麻烦。UIDevice setOrientation:animated:导致EXC_BAD_ACCESS

[的UIDevice setOrientation:动画:]导致在iOS 6

一个EXC_BAD_ACCESS崩溃任何建议,将不胜感激!

这里是崩溃日志的相关部分:

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 libobjc.A.dylib     0x347d9692 objc_msgSend_stret + 18 
1 CoreFoundation     0x3641f034 _CFXNotificationPost 
2 Foundation      0x33ee1d8c -[NSNotificationCenter postNotificationName:object:userInfo:] 
3 UIKit       0x377a5c68 -[UIDevice setOrientation:animated:] 
4 UIKit       0x377a03de -[UIApplication handleEvent:withNewEvent:] 
5 UIKit       0x3779f6d0 -[UIApplication sendEvent:] 
6 UIKit       0x3779f11e _UIApplicationHandleEvent 
7 GraphicsServices    0x369525a0 _PurpleEventCallback 
8 GraphicsServices    0x369521ce PurpleEventCallback 
9 CoreFoundation     0x364a3170  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ 
10 CoreFoundation     0x364a3112 __CFRunLoopDoSource1 
11 CoreFoundation     0x364a1f94 __CFRunLoopRun 
12 CoreFoundation     0x36414eb8 CFRunLoopRunSpecific 
13 CoreFoundation     0x36414d44 CFRunLoopRunInMode 
14 GraphicsServices    0x369512e6 GSEventRunModal 
15 UIKit       0x377f32fc UIApplicationMain 
16 MyApp      0x00a main + 70 
17 MyApp      0x000122fc start + 36 
+0

这不会导致它,无论你是在做什么来响应它正在导致它。查看您在响应设备方向更改的方法中所做的操作。 – borrrden

+0

这是有道理的,但是,这并没有把它缩小多少。大多数对象我有处理旋转事件... –

+0

它可能只有“设备”方向改变(面朝上,面朝下等),而不是“界面”方向改变(肖像,风景),但我不知道 – borrrden

回答

1

我不认为这是一个活的对象弄乱。 我想说,你忘记取消注册观察员,它已取消分配,但仍计划得到通知 - 看看任何类订阅此特定通知,并查看添加/删除是否平衡

+0

我同意,但是我检查了使用通知的每个对象,并且正在删除dealloc中所有对象中的通知。也就是说,在一些dealloc方法中,我并没有先删除notifcation;释放一些物体后我将它移除。我想有一个可能导致它的非常小的可能性,所以我将解除通知移到了每个dealloc方法的顶部。 –

+1

尝试在启用僵尸的仪器中运行它,如果它仍然存在。 –

+0

看到原来的帖子;我无法重现这个问题。我只有一个提交给iTunes的崩溃日志。 –

1

像@Daij Djan已经提到过,它不能是方向的改变本身,因为仍然有一个NSNotification的帖子,并且比应用程序崩溃。再次看看你已经添加了NSNotificationCenter的课程,也许在注销时没有问题,但是在注册时如post I found here.