Сделайте его сохраненным свойством, и сделайте ваш класс делегатом, чтобы вы могли убирать, когда игра закончится.В вашем заголовке:
@interface MyClass : NSObject <AVAudioPlayerDelegate>
@property(strong)AVAudioPlayer *player;
Затем, когда вы используете его:
self.player = [AVAudioPlayer alloc] initWithContentsOfURL:URL error:&err];
[player setDelegate:self];
и очистите его методом делегата:
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)playedSuccessfully {
self.player = nil;
}
Одна приятная вещьо том, чтобы иметь его как свойство, вы можете прервать его, если вам нужно:
-(void)someInterruptionOccurred {
[self.player stop];
}