Событие удаленного управления, вызывающее закрытие приложения iOS для iOS

Мое приложение воспроизводит фоновое аудио, используя AVAudioPlayer, и получает события дистанционного управления от iOS. Все работает нормально во время воспроизведения звука, но если звук приостановлен, и мое приложение перемещено в фоновый режим, произойдет что-то странное. Если я использую Bluetooth-устройство для возобновления / отключения звука через 10 минут, iOS завершает мое приложение со следующим сообщением:

<MyApp>[633] has active assertions beyond permitted time: {( <SBProcessAssertion: 0x25f520> identifier: com.apple.mediaremote.sendremotecommand process: <MyApp>[633] permittedBackgroundDuration: 600.000000 reason: finishTask owner pid:58 )} 

В этом есть две очень странные вещи.

  1. iOS не выключит мое приложение прямо на отметке 10 минут. Он будет делать это только после получения команды дистанционного управления через Bluetooth.

  2. Если я использую кнопки дистанционного управления iOS или пульт дистанционного управления в наушниках, мое приложение возобновит воспроизведение звука без проблем.

Я не могу понять, почему сообщение с дистанционным управлением Bluetooth приведет к тому, что iOS завершит мое приложение. Я смог подтвердить, что приложение Pandora, похоже, не имеет аналогичной проблемы.

Кто-нибудь знает об этом?

Обновление : дальнейшее тестирование показывает более четкое описание ошибки. Похоже, что это принудительное крах iOS приложения происходит при попытке возобновить фоновый звук после того, как звук был приостановлен на 10 минут или более, и приложение испытало предупреждение о низкой памяти.

Для воспроизведения ошибки необходимо выполнить следующие шаги:

  1. Либо приостановите звук приложения, а затем отправьте его на задний план (нажмите домашнюю кнопку или переключитесь на другое приложение) или приостановите звук приложения, когда он находится в фоновом режиме
  2. Причина, по которой приложение испытывает предупреждение о низкой памяти (либо имитированное, либо реальное)
  3. После 10 минут попытки воспроизвести звук с помощью события дистанционного управления, запускаемого с устройства, такого как Bluetooth-устройство или док-станция для док-станции и т. Д.

Примечание. Кажется, что iOS приводит к сбою приложения, когда последнее событие дистанционного управления инициируется с внешнего устройства, такого как устройство Bluetooth, док-станция или автомобильный адаптер. Использование встроенного в iOS интерфейса «пульта дистанционного управления» или пультов дистанционного управления в наушниках не вызывает сбоя.

Как упоминал Джордж в комментариях, я смог воспроизвести это со своим собственным App, Pandora и, по крайней мере, одним другим звуковым приложением. Я опубликовал отчет об ошибке с Apple.

Давайте будем гением компьютера.