У меня была похожая проблема, и я нашел решение для нее. Исправление может работать и для вас:
Я периодически вызываю метод (каждые 10 секунд), который устанавливает для idleTimerDisabled сначала значение NO, а затем значение YES.
- (void)calledEveryTenSeconds
{
[UIApplication sharedApplication].idleTimerDisabled = NO;
[UIApplication sharedApplication].idleTimerDisabled = YES;
}
Только установка YES не решает проблему. Похоже, что свойство должно быть изменено в первую очередь для распознавания UIApplication.
Моя проблема заключалась в том, что экран продолжал темнеть, как только я переключал музыкальные треки на плеере iPod через пульт наушников. Я думаю, что это та же проблема, что и вы.