iphone - [NSPathStore2完成播放] : unrecognized selector sent to instance

标签 iphone cocos2d-iphone selector ios3.0

运行我的程序时间歇性崩溃:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** -[NSPathStore2 finishPlaying]:无法识别的选择器发送到实例 0x286e20”

根据互联网,有关此功能的可用文档为零,因此我向著名的 Stack Overflow 寻求帮助。

这似乎与使用 CocosDenshion 库加载/播放声音相一致。我无法确定具体在哪里(如果是的话),因为当我单步执行时它似乎从未发生过。

这是在安装了 3.1.3 的第一代 iPod Touch 上进行测试时的结果。该程序可以在 iOS 3.2 及更高版本的设备上完美运行。

最佳答案

很抱歉触及这个旧话题,但我已经在同一问题上挣扎了几周,想分享我的经验。

我的一小部分用户遇到了以下格式的致命异常: “[__NSCFNumber finishPlaying:]:无法识别的选择器发送到实例 0x1fa8ed40” 它似乎仅限于 iOS 6 设备,但由于我无法自己重现,所以无法调试。

我相信另外两个答案是错误的。两者都表明该问题与 AVAudioPlayer 委托(delegate)有关,这是 The reason behind crash in AVAudioPlayer finishedPlaying after upgrade to iPhone 3.0 OS 中讨论的问题。 。但您会注意到,在这种情况下,finishedPlaying 方法被成功调用,并且异常与audioPlayerDidFinishPlaying: 方法相关。

在这个问题中,finishedPlaying: 选择器无法被识别,这意味着 AVAudioPlayer 本身不再有效,而不是它的委托(delegate)。

意识到这一点后,我现在认为问题是 AVAudioPlayer 管理不正确的结果(我使用的是非 ARC 帮助器类:NTAVManager)。我已经更新了该类以使用 ARC,并希望这能解决我的问题,但正如我所说,我自己从未能够重现它,所以几周后我才能确认。

关于iphone - [NSPathStore2完成播放] : unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5437277/

相关文章:

iphone - UIScrollView - 为新的 contentSize 设置适当的 contentOffset 会产生不需要的空白空间

iphone - 类似 UIAlertView 的 UIView 弹出窗口

iphone - 如何dequeueReusableCellWithIdentifier : work?

iphone - 如何在 iPhone 纵向 View 中获得 iframe 宽度 100%

c++ - Cocos2d C++ 继承虚类提示链接器错误

html - CSS 选择器 - 如何在选择器的事件上应用定义的类

ios - 检测点击 CCTableView 单元格

iOS 和 Cocos2d : my app REALLY slow on simulator but is FINE on device

javascript - 如何使用 jQuery 对象作为委托(delegate)方法的参数

jquery - 当我已经有一个 jquery 对象时,如何重新选择/过滤元素?