2日間で解決できなかった問題があり、リリースビルドでのみ発生します。デバッグビルドで実行しても、問題はありません。
しかし、それは実行されていないブロックのせいだと思います。次のようなクラッシュレポートがあります。
3 libdispatch.dylib 0x375d1c34 _dispatch_Block_copy + 8
4 libdispatch.dylib 0x375dc4ca dispatch_async$VARIANT$up + 6
5 Koldkrigsspionen 0x00020ef2 -[NOAudioManager audioPlayerDidFinishPlaying:successfully:] (NOAudioManager.m:807)
audioPlayerDidFinishPlaying:successfullyのメソッドは次のようになります。
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
if (musicPlayerCompletionBlock)
dispatch_async(dispatch_get_main_queue(), musicPlayerCompletionBlock);
}
ブロックは次のように設定されます。
- (void)setMusicCompletionBlock:(void (^)(void))theBlock
{
musicPlayerCompletionBlock = theBlock;
}
ヘッダーファイルでは次のようになります。
void (^musicPlayerCompletionBlock) (void);