Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Objective c 发送到deviceOrientationDidChange上实例的选择器无法识别_Objective C_Portrait_Device Orientation_Unrecognized Selector - Fatal编程技术网

Objective c 发送到deviceOrientationDidChange上实例的选择器无法识别

Objective c 发送到deviceOrientationDidChange上实例的选择器无法识别,objective-c,portrait,device-orientation,unrecognized-selector,Objective C,Portrait,Device Orientation,Unrecognized Selector,现在我的应用程序应该只支持肖像。在摘要/支持的设备方向上,我只选择了纵向,所以我希望我的应用程序不会旋转。我在一台设备上测试该应用程序,突然发现以下随机错误: [UIButtonContent deviceOrientationDidChange:]: unrecognized selector sent to instance 有时,当我旋转设备时会发生这种情况,不一致,也不总是超过UIBUttonContent。我认为,如果我只选择了纵向,则不应调用或忽略deviceOrientation

现在我的应用程序应该只支持肖像。在摘要/支持的设备方向上,我只选择了纵向,所以我希望我的应用程序不会旋转。我在一台设备上测试该应用程序,突然发现以下随机错误:

[UIButtonContent deviceOrientationDidChange:]: unrecognized selector sent to instance
有时,当我旋转设备时会发生这种情况,不一致,也不总是超过UIBUttonContent。我认为,如果我只选择了纵向,则不应调用或忽略deviceOrientationDidChange

其他时候,我的应用程序会因为EXC_BAD_访问(code=1,address=something)而崩溃,但当我旋转设备时会发生这种情况,所以我猜这两个错误都是相关的


我不知道该怎么办,调试很困难,因为我没有反馈,没有调用“所有异常”断点,所以我不知道发生这种情况的位置和确切原因。欢迎提供有关如何调试的任何想法。

您是否有一个类应使用
DeviceOrientationIDChange:
调用?发生这种情况时,通常意味着您有一个对解除分配对象的悬空引用。您应该尝试在“僵尸”模式下使用工具评测应用程序。

这些是内存管理错误的典型迹象。您已经过度释放了某个对象,并且该对象已被释放,而其他对象仍在引用它。后来,有消息说。在某些情况下,一个新对象已经取代了它的位置,但该对象不理解它正在接收的消息。在其他情况下,没有有效的对象,会导致崩溃


编辑以支持使用僵尸工具查找过度发布的建议。

我很久以前就解决了这个问题,但我认为分享在这个案例中真正帮助我的东西是件好事


在用仪器做了所有的尝试,但都没有结果之后,我开始调试老式仪器。我知道错误在哪里,所以我只对该部分的所有代码进行了注释。我是对的,这个bug和一些功能一起消失了。在那之后,我进行了“二进制取消注释”(取消注释的一半),直到我得到错误行。这是一个第三方库,我有一个对象没有被正确发布。

可能需要更多的代码…我知道,但它发生在所有的应用程序中,所以我真的不知道放在这里的代码是什么。这很奇怪,因为我使用的是ARC。我刚刚更新到xcode 4.3.2,仪器消失了,首先解决这个问题。我通常只做XCode中的Product=>Profile。有没有办法在设备上使用僵尸?我看不到选项否,因为僵尸检测的工作原理是不重新分配已用内存,它在设备上不可用。但您仍然可以通过执行命令+箭头键来旋转模拟器。