Как избежать приостановки приложения iOS при фоновом переходе?

Я знаю, что iOS обычно приостанавливает работу приложения при переходе в фоновый режим. И есть способы продолжить выполнение, упомянутые здесь. Но я нашел приложение Saavn, которое продолжает загружаться даже после перехода в фоновый режим.

  • Хотя это музыкальное приложение, но для работы аудиосервиса в фоновом режиме должен воспроизводиться звук. И он продолжает загрузку, даже если звук не воспроизводится.

  • Это также нельзя сделать с помощью beginBackgroundTaskWithExpirationHandler:, так как он позволяет выполнить только одну задачу фиксированной длины. Но в этом приложении он продолжает загружаться бесконечно, пока не будет загружен весь плейлист.

  • И я также не думаю, что это будет UIBackgroundModes = fetch, потому что он загружает очень большие плейлисты с сотнями песен (которые определенно не являются выборкой).

Итак, есть ли другой способ продолжить выполнение в фоновом режиме (без нарушения политик Apple), НЕ упомянутый в справочнике разработчика Apple?


person TheCommonEngineer    schedule 23.09.2013    source источник
comment
вы должны сначала установить свойство в info.plist для приложения и попробовать его....   -  person Hindu    schedule 23.09.2013
comment
@kokx, ты говоришь установить UIBackgroundModes на fetch? Но будет ли это работать для непрерывной загрузки такого большого контента?   -  person TheCommonEngineer    schedule 23.09.2013
comment
Тут ни у кого нет идей?   -  person TheCommonEngineer    schedule 25.09.2013
comment
По крайней мере, разработчики Saavn могут поделиться своими знаниями!! :)   -  person TheCommonEngineer    schedule 27.09.2013


Ответы (1)


Пожалуйста, обратитесь к этой документации, в ней объясняются различные сценарии https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

person barryjones    schedule 22.02.2016