Фон приложения для записи звука и прерывания на iPod Touch

У меня есть приложение для записи звука, которое уже некоторое время работает нормально. Он использует низкоуровневые 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 "Необходимые фоновые режимы"


person Hot Licks    schedule 31.01.2013    source источник


Ответы (1)


Между версиями iOS есть изменения в поведении (точно не знаю, какая версия). Раньше активные звуковые приложения не были фоновыми, но теперь они есть. Предположительно, запись все еще может продолжаться в фоновом режиме, но все действия пользовательского интерфейса должны быть остановлены, иначе кто-то будет бесцеремонно застрелен.

В настоящее время я пытаюсь выяснить, как справиться с новым поведением, и это другой набор вопросов.

person Hot Licks    schedule 01.02.2013