Проблема синхронизировать данные в фоне.
Проблема, в background приложение имеет ограниченное время жизни. При чем нужно учитывать сколько у тебя есть времени. Так если не вписатся, то можно iOS прибавает приложение и оно больше не работает.
Напрямую network запросы там тоже слать не желеательно, так как можно схватить timeout и должно ждать респонса. Пока будешь ждать система прибьет аппку. Это отлавливать можно очень долго.
Нужно давать специальные hint's для iOS что бы она что-то начала выкачивать и выключать аппку.
Затем когда докачает файл и если докачает опять возвращатся что-то процессить, сохранять. Опять это все по-кругу.
По-отдельности ничего сложного, но если где-то что-то не так. То нужно настраивать грамотно логи. Смотреть при каких условиях что произошло.
Это где-то похоже на ваши задачи с бекенда когда запрос выполняется слишком долго.