Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIDevice setOrientation:已设置动画:导致EXC\u访问错误_Ios_Uikit_Exc Bad Access_Uidevice - Fatal编程技术网

Ios UIDevice setOrientation:已设置动画:导致EXC\u访问错误

Ios UIDevice setOrientation:已设置动画:导致EXC\u访问错误,ios,uikit,exc-bad-access,uidevice,Ios,Uikit,Exc Bad Access,Uidevice,我已经向iTunes提交了一份崩溃日志。我不知道如何重现这个问题,所以我很难排除故障 [UIDevice setOrientation:animated:]在iOS 6上导致EXC_BAD_访问崩溃 如有任何建议,将不胜感激 以下是崩溃日志的相关部分: Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libobjc.A.dylib 0x347d9692 objc

我已经向iTunes提交了一份崩溃日志。我不知道如何重现这个问题,所以我很难排除故障

[UIDevice setOrientation:animated:]在iOS 6上导致EXC_BAD_访问崩溃

如有任何建议,将不胜感激

以下是崩溃日志的相关部分:

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                       0x0001234a main + 70
17  MyApp                       0x000122fc start + 36

我不认为这是一个活生生的物体把事情搞砸了。
我想说的是,您忘记注销了一个观察者,它被解除了分配,但仍然计划获得通知--查看订阅此特定通知的任何类,看看添加/删除是否平衡,就像前面提到的@Daij Djan一样,这不可能是方向更改本身,因为仍然有一个
NSNotification
的帖子,因此应用程序正在崩溃。再次查看您添加到的类
NSNotificationCenter
,取消注册可能没有问题,但注册时,如

它不会导致它,无论您如何响应它都会导致它。看看你在应对设备方向变化的方法中做了些什么。这是有道理的,但糟糕的是,这并不能缩小范围。我拥有的大多数对象都可以处理旋转事件…可能只是“设备”方向的更改(面朝上、面朝下等),而不是“界面”方向的更改(纵向、横向),但我不确定我是否同意,但我检查了使用通知的每个对象,并且正在删除dealloc中所有对象中的通知。也就是说,在一些dealoc方法中,我并没有首先删除通知;在释放一些对象后,我正在移除它。我想有一个很小的可能性可能导致了它,所以我将取消通知移动到每个dealloc方法的顶部。如果仍然发生,请尝试在启用僵尸的工具中运行它。请参阅原始帖子;我无法重新创建该问题。我只有一个提交给iTunes使用的崩溃日志。为什么?我的答案与《撞车报告》中的答案相吻合。不要因为你不喜欢这个答案或者它不能100%地解决问题就对其他人投反对票。只要它不是完全离题,它就有助于解决问题。