每次加载应用程序时,它都会停止,就好像我在此行上设置了一个断点:
self.audioPlayer =
[[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName]
error:&outError] autorelease];
Run Code Online (Sandbox Code Playgroud)
这条线上方或附近没有断点.它只在我在调试模式下运行应用程序时发生,并且在断点之后没有任何崩溃.当我点击"继续执行程序"时,该应用程序无效.
这是loadData方法,使用initWithData
以下方法调用:
-(NSData*)loadData:(NSString*)fileName
{
NSString *dataPath = [self.path stringByAppendingPathComponent:fileName];
dataPath = [dataPath stringByStandardizingPath];
NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ];
return data;
}
Run Code Online (Sandbox Code Playgroud)
loadData函数似乎工作正常.在断点之后加载并播放请求的mp3文件没有任何问题.
你知道我做错了什么吗?
编辑: 当它在断点处停止时我跑了回溯.这是输出:
(lldb) bt * thread #1: tid = 0x1c03, 0x30df1724 libc++abi.dylib`__cxa_throw, stop reason = breakpoint 1.2 frame #0: 0x30df1724 libc++abi.dylib`__cxa_throw frame #1: 0x36403a24 AudioToolbox`ID3ParserHandle::ID3ParserHandle(void*, long (*)(void*, unsigned long, unsigned long, unsigned long, void**, unsigned long*)) + 452 frame #2: 0x36403b0e AudioToolbox`ID3ParserOpen + 142 …