У меня есть приложение для записи звука, которое уже некоторое время работает нормально. Он использует низкоуровневые API AudioQueue/AudioSession в iOS. Но с последней моделью (4-го поколения) iPod Touch, когда приложение начинает запись, экран iPod тускнеет через минуту, а затем затемняется и блокируется еще через минуту. При нажатии «домой» и разблокировке приложение было прекращено.
Обратите внимание, что на самом деле это невозможно отладить с помощью Xcode, поскольку, если iPod подключен к Xcode, он не будет тускнеть.
Изменила ли Apple что-то в последней версии iOS или есть что-то странное в более новых моделях iPod Touch?
Добавлено:
Если я просто посмотрю журнал консоли, приложение работает нормально, пока я не увижу UserEventAgent[12] <Warning>: DEBUG: Changing screen blanked state: 1
Далее я вижу, что регистратор получил команду остановки. Очевидно, это был результат звонка от applicationWillTerminate
или applicationDidEnterBackground
.
(На самом деле перед сообщением UserEventAgent есть пара других сообщений <Notice>
от SpringBoard — Posting 'com.apple.iokit.hid.displayStatus' notifyState=0
и «ultitouchHID: detection mode: 0->255
».)
(И приложение в конечном итоге вылетает, потому что оно пытается аккуратно завершить сеанс записи, а ОС хочет, чтобы он вышел СЕЙЧАС. Но это уже после того, как все испортилось.)
Будет расследование
UIApplication idleTimerDisabled
plist "Необходимые фоновые режимы"