2012-06-09 4 views
1

사용자가 계속이 오류를 표시하고 시뮬레이터 나 장치에서 재현하지 못했습니다. AVAudioSessionDelegate (다르게 명명 될 수도 있음)를 구현하지 않고 항상 응용 프로그램의 기본 AVAudioSession을 사용하고 새로운 AVAudioSession을 만들지 않습니다.AVAudioSession에서 iOS 오류가 발생했습니다.

어떤 원인 일 수 있습니까?

0 libobjc.A.dylib 0x31ca5fbc objc_msgSend + 15 
1 AudioToolbox 0x3677ff27 _ZN29AudioSessionPropertyListeners24CallPropertyListenersImpEmmPKv + 274 
2 AudioToolbox 0x36780205 _ZN29AudioSessionPropertyListeners21CallPropertyListenersEmmPKv + 240 
3 AudioToolbox 0x3677de81 SSServer_AudioSessionInterruptionListenerMessage + 56 
4 AudioToolbox 0x36726483 _XAudioSessionInterruptionListenerMessage + 62 
5 AudioToolbox 0x366bb373 mshMIGPerform + 374 
6 CoreFoundation 0x38199553 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38 
7 CoreFoundation 0x381994f5 __CFRunLoopDoSource1 + 140 
8 CoreFoundation 0x38198343 __CFRunLoopRun + 1370 
9 CoreFoundation 0x3811b4dd CFRunLoopRunSpecific + 300 
10 CoreFoundation 0x3811b3a5 CFRunLoopRunInMode + 104 
11 GraphicsServices 0x37c99fcd GSEventRunModal + 156 
12 UIKit 0x355ab743 UIApplicationMain + 1090 
13 Accentuate! 0x395f main (main.m:14) 

답변

1

아주 비슷한 사고를 추적하고 있습니다. ,

특히 https://github.com/mattgallagher/AudioStreamer/issues/6

, MyAudioSessionInterruptionListener가 (혹은 콜백의 이름 에 전달 AudioSessionInitialize)에 그리고이 등록되어있어 이후 inClientData 변경 될 수있다 :

는 와우 여기에 설명하는 바와 같이 판명 따라서 콜백은 기본 객체가 할당 취소 된 경우라도 항상 현명한 작업을 수행해야합니다.

AudioStream에 제안 된 솔루션은 정적 변수를 사용하고 현재 콜백에 관심이있는 객체를 가리키고 해제되지 않은 객체를 가리 키지 않는 것이 좋습니다. 중요한 점은 inClientData를 사용하지 않는 것입니다.

관련 문제