Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: background, task, bluetooth

Какие возможности фонового выполнения появились, начиная с iOS 13?

Вопрос проверяет знание современных ограниченных, но разрешенных системой возможностей выполнения задач в фоне.

Короткий ответ

Начиная с iOS 13, фоновое выполнение сильно ограничено и разрешено только для конкретных, одобренных Apple сценариев. Основные возможности: обработка событий Bluetooth (подключение/обмен данными с аксессуарами), обновления Core Location (значимые изменения местоположения или посещения регионов), завершение фоновых URLSession задач (загрузка/отправка данных) и работа с HealthKit (чтение/запись данных о здоровье). Для общих фоновых задач теперь используется BGTaskScheduler.

Длинный ответ

Старые методы фонового выполнения (например, beginBackgroundTask) давали несколько минут на завершение работы. Новый подход (Background Tasks) более строгий и точечный.

Основные разрешенные сценарии:

  1. Background Tasks (BGTaskScheduler):

    • Позволяет запланировать короткую задачу для обновления контента приложения.

    • Задачи должны быть зарегистрированы в Info.plist (например, com.example.app.refresh) и имеют строго ограниченное время выполнения (секунды).

    • Система сама решает, когда запустить задачу, основываясь на поведении пользователя.

  2. Фоновые режимы (Background Modes):

    • Bluetooth: Для приложений, взаимодействующих с Bluetooth-аксессуарами (центральная или периферийная роль).

    • Location updates: Для навигационных приложений или приложений, отслеживающих местоположение в фоне.

    • Audio & AirPlay: Для аудиоплееров.

    • Voice over IP (VoIP): Для звонков.

    • External Accessory Communication: Для работы с внешними устройствами по кабелю.

    • Background fetch / Processing: Устарело в пользу BGTaskScheduler.

Важно:

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

  • Необходимо указывать соответствующие UIBackgroundModes в Info.plist.

  • Приложение может быть отклонено App Review, если фоновый режим используется не по назначению.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • IOS

    IOS

Ключевые слова

#background

#task

#bluetooth

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.