2012-11-07 132 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.