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。有没有办法在设备上使用僵尸?我看不到选项否,因为僵尸检测的工作原理是不重新分配已用内存,它在设备上不可用。但您仍然可以通过执行命令+箭头键来旋转模拟器。