У меня есть требование загружать файлы в последовательном порядке. В настоящее время я могу сделать это, пока приложение находится на переднем плане.
Ниже приведена логика, которую я использовал.
Создайте все задачи для скачивания.
Возобновляйте по одному и по мере завершения текущего возобновляйте следующий с
URLSession:task:didCompleteWithError:
.
Эта логика работает, когда приложение находится на переднем плане, но как только приложение начинает работать в фоновом режиме (в результате сбоя), и мы снова запускаем приложение до завершения загрузки, все состояние задач было изменено на возобновление, и все загружаются одновременно.
Это ожидаемое поведение или что-то, что мне не хватает, чтобы заказать это в последовательном режиме и в фоновом режиме?
Редактировать: я проверял, создавая задачи загрузки одну за другой. После завершения первой задачи создайте следующую внутри setTaskDidCompleteBlock
и так далее. Он завершает только первую задачу, и после этого сеанса происходит сбой, когда задача создается внутри setTaskDidCompleteBlock
(это происходит только при работе в фоновом режиме, для переднего плана все работает нормально).
Вот скриншоты моего журнала сбоев:
а также
Любая помощь будет оценена по достоинству.