DevPrep

Все темы › Среды разработки и SDK

Что приложение может делать в фоне: BGTaskScheduler, background URLSession и их ограничения?

Senior PRO

Суть

Через несколько секунд после ухода в фон приложение приостанавливается (Suspended): код не выполняется, а при нехватке памяти процесс молча выгружается. Работать в фоне можно только через разрешённые механизмы, и каждый из них — не обещание, а просьба к системе: когда и сколько времени дать, iOS решает по заряду, сети, частоте использования приложения и настройкам пользователя.

Инструмент выбирают по задаче: дозавершить начатое — beginBackgroundTask; освежить данные — BGAppRefreshTask; тяжёлое обслуживание — BGProcessingTask; передать файлы — background URLSession; отреагировать на событие сервера — silent push; работать непрерывно — только специальные background modes.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

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

Скачать DevPrep в App Store