我在我的应用程序的崩溃日志中看到了一些少量的SpriteKit playSoundFileNamed崩溃。这些崩溃发生在iOS 8.3上。
0 CoreFoundation __exceptionPreprocess
1 libobjc.A.dylib objc_exception_throw
2 CoreFoundation -[NSException initWithCoder:]
3 SpriteKit +[SKPlaySound playSoundFileNamed:atPosition:waitForCompletion:]
4 SpriteKit +[SKAction(SKActions) playSoundFileNamed:waitForCompletion:]
...
还有一些相关的崩溃问题:
0 CoreFoundation __exceptionPreprocess
1 libobjc.A.dylib objc_exception_throw
2 CoreFoundation -[NSException raise:format:]
3 SpriteKit +[SKPlaySound playSoundFileNamed:atPosition:waitForCompletion:]
4 SpriteKit +[SKAction(SKActions) playSoundFileNamed:waitForCompletion:]
...
有人知道是什么导致了这个崩溃,如何修复?我是否需要在每个调用playSoundFileNamed:的地方都添加try-catch块?
编辑
更多信息:
我正在使用Swift。尝试播放自己的声音,但我看到来自不同声音的崩溃。我也看到了一些来自iOS 8.2的报告,因此这个崩溃可能不仅仅是iOS 8.3特有的。
播放声音的代码行:
var sound = SKAction.playSoundFileNamed("Sound/ABC.mp3", waitForCompletion: false)
self.runAction(sound)