-->

AVAudioRecorder throws errors

2019-01-13 12:12发布

问题:

I use AVAudioRecorder to record, it worked fine on iOS 4 devices, but yesterday we found out recording is broken on iOS5. Using the iPhone 5 simulator I got following error:

2011-08-02 11:09:03.586 Moodle[7832:10103] Error loading /System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn: dlopen(/System/Library/Extensions/AudioIPCDriver.kext/Contents/Resources/AudioIPCPlugIn.bundle/Contents/MacOS/AudioIPCPlugIn, 262): Symbol not found: ___CFObjCIsCollectable

Do you know where this error came from and how to fix this?

回答1:

This error is just console noise from a System framework, you should ignore it, it doesn't affect you. If your app is crashing or failing to record the real reason is elsewhere.

AVAudioRecorder works just fine on iOS 5, even if it does throw (and catch) Exceptions during normal operations which make debugging harder.



回答2:

I have also been experiencing these errors since moving to iOS5. I am not recording, but playing back sounds with AVAudioPlayer. This seems to be a problem with the AVAudio frameworks when using the iOS simulator only. Testing on actual hardware (an iPad 2 & iPad 1, in my case) does not produce these same errors, which makes me less concerned since testing on hardware is what I consider the testing that actually counts.

BTW, sorry that this is not an solution to fixing the issue, so much as a confirmation that you are not the only one experiencing the problem.



回答3:

I have found that this error only comes up when using the Simulator. When it is tested on an actual device it works fine and no errors come up.

So until Apple releases a bug fix for the Simulator, test your apps on devices.



回答4:

If you want to leave your break points on all exceptions in (which I find very useful), you can just use an if(!TARGET_IPHONE_SIMULATOR) statement before running audio. This will cause audio to only run if you're using a device.

There won't be any sound from the simulator, but it's very helpful if you don't need music on and want to debug other code.



回答5:

I solved this problem by deleting exceptional breakpoints.



回答6:

It's not an error. It's only an expectation of breakpoint. This issue is occurring if you have add "expectation breakpoints" in your XCode. Main suggestion is - do not you "expectation breakpoints" in Cocos2d projects.



回答7:

Just use a real device to test you code, and wait for the next update. I think that is your best choice.