Почему запись звука в фоновом режиме на iOS не работает?

#ios #background #audio-recording

#iOS #предыстория #аудиозапись

Вопрос:

Я пытаюсь заставить свой аудиомагнитофон работать в фоновом режиме на iOS.

Я попытался установить фоновый режим «аудио», чтобы предотвратить приостановку работы моего приложения при переходе в фоновый режим, но, похоже, это не работает. Я сделал это, выполнив следующие действия: Реализация длительных фоновых задач> Воспроизведение и запись фонового звука, в котором говорится, что

Вы включаете поддержку звука в разделе «Фоновые режимы» на вкладке «Возможности» в вашем проекте Xcode. (Вы также можете включить эту поддержку, включив ключ UIBackgroundModes со значением audio в файл Info.plist вашего приложения.)

Проблема в том, что когда мое приложение переходит в фоновый режим, записывается только около одной секунды дополнительного звука. После этого приложение, похоже, приостановлено. Я тестирую это на симуляторе, имитируя нажатие кнопки home.

Что я могу сделать, чтобы приложение работало в фоновом режиме?

Комментарии:

1. Вы пробовали это на каком-нибудь устройстве? Приложение для воспроизведения звука демонстрирует те же симптомы на симуляторе

Ответ №1:

Приложение для воспроизведения звука в симуляторе демонстрирует те же симптомы, которые вы описали для своего приложения для записи. В общем, фоновые задачи не работают одинаково на симуляторе и на устройствах.

Попробуйте протестировать приложение на устройстве.

Комментарии:

1. спасибо, ваше предположение верно, и это так просто. Запись в фоновом режиме отлично работает на устройстве без изменения кода, пока она не работает в симуляторе.

2. Начиная с iOS 11.0 Beta 3 (включена в Xcode 9.0 Beta 3) фоновые задачи должны быть приостановлены, поэтому поведение, которое вы видите в симуляторе, должно лучше соответствовать тому, что вы видите на устройстве сейчас.