デバイス (響板) でアプリをテストしていて、でクラッシュし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];
ヒントはありますか?
ありがとう!