Я делаю таймер обратного отсчета, который воспроизводит звуковой сигнал для каждой секунды, считая через NSTimer. Приложение должно находиться в активном состоянии не более 90 минут и воспроизводить повторяющийся звуковой сигнал до тех пор, пока таймер не будет отключен. В plist я выбрал «Приложение UIbackground Modes воспроизводит звук», а также добавил в файл delegate.m [UIApplication sharedApplication].idleTimerDisabled = YES;
, чтобы мой таймер оставался на экране. Проблема в том, что через 4 минуты повторяющийся звук прекращается. Все остальное работает, приложение бодрствует, метка с обратным отсчетом обновляется сама. Чтобы восстановить звук, вы должны выйти и перезапустить приложение. Проблема возникает как в симуляторе, так и в устройстве (iPhone 3G). Я использую xcode 4, если это имеет значение. Вот мой код:
NSString *path = [[NSBundle mainBundle]
pathForResource:@"beep" ofType:@"mp3"];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication]beginBackgroundTaskWithExpirationHandler:nil];
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
[audioPlayer play];
Конечно, я импортировал библиотеки
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
p.s. Я часами читаю темы о фоновом звуке и тестирую почти все, что могу найти, но у меня ничего не работает. Если кто-то может мне помочь, пожалуйста, имейте в виду, что я очень новичок в программировании. Заранее спасибо.