TGViewer
EasySwift iOS🍏 EasySwift iOS🍏 @swift_ioss · 2.82K subscribers
Post #807 764
Running iOS Background Tasks Reliably, Part 1

🖥 Автор делится практическими наблюдениями по использованию BGTaskScheduler в iOS 26 на примере своего приложения для синхронизации календарей. Ключевая мысль: фоновые задачи на iOS нельзя воспринимать как cron - система даёт только возможности, а не гарантии. Тем не менее при аккуратной настройке - регистрация обоих типов задач (BGAppRefreshTask и BGProcessingTask), ограничение времени выполнения, защита от гонок при завершении и агрессивная, но осмысленная перезапись задач - можно получить достаточную надёжность для большинства сценариев.

❗️ Пару важных моментов:
➡️ ставьте короткие таймауты (примерно 3 с для обновлений и ~25 с для тяжёлой обработки)
➡️ используйте token/lock, чтобы вызывать setTaskCompleted(success:) ровно один раз
➡️ не переотправляйте задачу при каждом срабатывании (сравнивайте existingEarliest и desiredEarliest и привязывайтесь к lastRun)
➡️ учитывайте требования requiresExternalPower/Network
➡️ форсируйте ресабмит после перезагрузки или обновления ОС.

✏️ Ещё важнее - поведение зависит от действий пользователя: свайп для принудительной остановки убирает фоновые запуски до следующего ручного открытия, длительное неоткрывание приложения приводит к постепенному снижению запусков, а перезагрузка требует первого разблокирования устройства.
  • 🔥 3
More from @swift_ioss
  1. Oct 9, 2026TLS certificate validation on iOS ℹ️ Если вы не знаете, что такое TLS и проверка сертифика…
  2. Oct 7, 2026Rich Push Notifications в iOS: Notification Service Extension, Notification Content Extens…
  3. Oct 5, 2026Применение gRPC при разработке приложений под iOS ❓ Хороший туториал по gRPC. В целом расс…
  4. Oct 2, 2026Letting AI See SwiftUI: Xcode Preview MCP in Practice — Pitfalls and Hopes 🆕 В Xcode 26.3…
  5. Sep 30, 2026Backporting SwiftUI APIs ❓ Как безопасно «доделать» новые SwiftUI API из iOS 27.1 для стар…
  6. Sep 28, 2026Post #814
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →