Я использовал:
[UIApplication sharedApplication].idleTimerDisabled = YES;
в ряде приложений, разработанных и запущенных под iPhone OS 2.x, и никогда не возникало проблем с ним. Это часовые приложения, которые необходимо постоянно запускать и игнорировать настройку таймера iPhone бездействия.
Однако, пытаясь добиться этого же с новым приложением под управлением ОС 3.0 (и которое необходимо развернуть под 3.0, поскольку оно использует некоторые API 3.0), я обнаружил, что таймер бездействия либо игнорируется, либо несовместим.
My App воспроизводит музыку из библиотеки iPod, и когда музыка воспроизводит ее, она автоматически блокируется независимо от вышеуказанной настройки. Но как только вы разблокируете его, он не будет автоматически блокироваться, если вы снова не начнете воспроизведение музыки, и в этом случае он снова блокируется после настройки времени автоматической блокировки iPhone.
Я удивляюсь, что никто не сталкивался с этим, поскольку я предполагаю, что это повлияет на большое количество приложений.
Просто уточнить:
1. Вышеприведенный код находится в ApplicationDidFinishLaunching
2. Я знаю, что телефон не будет автоматически блокироваться при тестировании с xCode независимо от настроек
Если у кого-то есть мысли, я был бы очень благодарен...