Background session требует делегат, который система может пересоздать; завершение событий идёт через finishEvents колбэки app/scene.
Разбор
- Нельзя использовать shared/ephemeral для background identifier.
- Файлы upload/download живут дольше процесса.
- Идемпотентность на сервере критична.
- Тестируют kill app mid-transfer.
Итог
Background URLSession переживает процесс — проектируют идемпотентно.