我在设备上测试我的应用程序(音板)并且它与EXC_BAD_ACCESS
崩溃,我使用了断点,错误来自[AVAudioSession privateBeginInterruption]
崩溃发生在这种模式之后:
[self.navigationController popViewControllerAnimated:YES];
)我不知道这里发生了什么,我已经安装了CrashLytics,它只说:
也许音频会话从内存中释放,应用程序尝试访问它并失败?
音频会话在viewDidLoad
// Initialize audio session
[[AVAudioSession sharedInstance] setDelegate: self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: nil];
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
在viewDidUnload
我有
[[AVAudioSession sharedInstance] setDelegate: nil];
任何提示?
谢谢!
答案 0 :(得分:6)
发生崩溃是因为您已在此行中将会话委托设置为控制器
[[AVAudioSession sharedInstance] setDelegate: self];
但没有实现所需的委托方法(中断一个)
删除委托设置行或实现委托方法来解决崩溃