iOS background modes. Применяем и укрощаем на практике

RU / День 1 / 19:00 / Зал 2

Фоновый режим работы — это мощный инструмент поддержки работы неактивного приложения. Очень часто мы на практике сталкиваемся с тем, что необходимо выполнять или продолжать выполнение какого-то функционала приложения в фоне, в то время, как пользователь переключает свое внимание на другие. Это может быть не только получение уведомлений, но и поддержание связи с внешними устройствами, отправка сетевых запросов, обновления информации о местоположении или какая-то синхронизация в фоне.

Однако поддержание одновременной работы нескольких приложений — процесс энергоемкий. Apple в стремлении продлить работу устройства вводит все новые и новые условия и ограничения, которые часто требуют полного переосмысления текущего функционала. А предлагаемые ими нативные решения имеют много нюансов и скрытых подводных камней.

От разработчика требуется обеспечить корректность выполнения функционала неактивного приложения, не войти в противоречие с концепцией энергосбережения в iOS и уложиться в отведенные по умолчанию 30 секунд. Это требует advanced-подхода к решению задачи.

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

В качестве практических примеров рассмотрим такие ситуации, как:

  • поддержка периодической работы приложения;
  • опрос сенсоров и датчиков устройства в фоновом режиме (в т.ч BLE и GPS);
  • продление работы в фоне и синхронизация по своим правилам.

Также посмотрим на то, помогут ли в достижении целей в этих ситуаций новые решения, предлагаемые в iOS 13 и iOS 14.


Скачать презентацию

Почему этот доклад в программе

Чем хорош спикер: Анна успела столкнуться с различными проблемами при работе iOS-приложения в фоне на нескольких проектах и хочет поделиться найденными решениями.

Чем хороша тема: Работа iOS с приложениями в фоне менялась очень часто и много, отлаживать эту работу так же сложно, а документация не всегда содержит ответы на все вопросы — поэтому тема обросла сложностями и иногда кажется, что это похоже на какое-то шаманство.

Кому будет полезно: Доклад будет полезен всем, кто реализует в своих проектах какую-либо работу в фоне: будь то обновление геолокации или подгрузка данных, как минимум чтобы сравнить своё текущее решение проблем с решениями из доклада.

Почему здесь и сейчас: Это не просто сборник теории по работе iOS-приложения в фоне и разбор не одного какого-то практического кейса, а разбор сразу нескольких приложений, связанных с различными Background Modes.