IOS 7模拟器上的“无法识别的选择器”崩溃

时间:2013-09-13 11:26:59

标签: iphone ios xcode xcode5 mpmediaquery

我正在测试IOS7上的音乐应用程序兼容性,方法是在Xcode 5 iPhone模拟器(IOS7)上运行,但是在使用以下代码检索所有音乐项目时崩溃了。

    MPMediaQuery *allSongs = [[MPMediaQuery alloc] init];
    NSArray *itemsFromGenericQuery = [allSongs items]; // Here application crashes

崩溃日志:

[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840

这是崩溃时运行的线程的快照: enter image description here

我怀疑Xcode5中有一些错误..!

编辑:我可以在模拟器/设备上使用Xcode 4.6.3运行相同的应用程序而不会出现任何问题/崩溃。

3 个答案:

答案 0 :(得分:0)

[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840

此错误表示NSNumber类型的对象已传递消息-libraryCompletionHandlerNSNumber没有-libraryCompletionHandler方法,因此崩溃。显然,有些事情正在发生。

通常这是一个糟糕演员或僵尸的指示。在这种情况下,我会怀疑一个僵尸对象。

恭喜,您可能在iOS 7模拟器中发现了一个缺陷。呜呜!

答案 1 :(得分:0)

  

我怀疑Xcode5中有一些错误..!

在Xcode 5的开发者预览版本中显然存在一些错误,但听起来它是你的应用程序崩溃而不是Xcode或模拟器本身。这将使人们相信问题更可能出现在您的应用程序中,或者可能出现在操作系统中。

  

[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840

错误的指针是无法识别的选择器错误的常见原因,特别是当它们涉及的类似乎没有涉及崩溃的代码时。 Turn on NSZombieEnabledset a breakpoint on all exceptions可以追踪问题。

答案 2 :(得分:0)

也许这是项目设置 尝试添加-ObjC