我正在测试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
这是崩溃时运行的线程的快照:
我怀疑Xcode5中有一些错误..!
编辑:我可以在模拟器/设备上使用Xcode 4.6.3运行相同的应用程序而不会出现任何问题/崩溃。答案 0 :(得分:0)
[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840
此错误表示NSNumber
类型的对象已传递消息-libraryCompletionHandler
。 NSNumber
没有-libraryCompletionHandler
方法,因此崩溃。显然,有些事情正在发生。
通常这是一个糟糕演员或僵尸的指示。在这种情况下,我会怀疑一个僵尸对象。
恭喜,您可能在iOS 7模拟器中发现了一个缺陷。呜呜!
答案 1 :(得分:0)
我怀疑Xcode5中有一些错误..!
在Xcode 5的开发者预览版本中显然存在一些错误,但听起来它是你的应用程序崩溃而不是Xcode或模拟器本身。这将使人们相信问题更可能出现在您的应用程序中,或者可能出现在操作系统中。
[__NSCFNumber libraryCompletionHandler]: unrecognized selector sent to instance 0xdd66840
错误的指针是无法识别的选择器错误的常见原因,特别是当它们涉及的类似乎没有涉及崩溃的代码时。 Turn on NSZombieEnabled和set a breakpoint on all exceptions可以追踪问题。
答案 2 :(得分:0)
也许这是项目设置 尝试添加-ObjC