NSURLSessionDownloadTask reanuda automáticamente todas las tareas mientras está en segundo plano

Tengo el requisito de descargar archivos en orden de serie. Actualmente puedo hacerlo mientras la aplicación está en primer plano.

La siguiente es la lógica que he usado.

Crea todas las tareas para descargar.

Reanude uno a la vez y, a medida que la corriente finalice, reanude el siguienteURLSession:task:didCompleteWithError:.

Esta lógica funciona mientras la aplicación está en primer plano, pero una vez que la aplicación comenzó a ejecutarse en segundo plano (al fallar) y nuevamente ejecutamos la aplicación antes de que finalice la descarga, todas las tareas se han cambiado para reanudar y todas se están descargando al mismo tiempo.

¿Es este el comportamiento esperado o algo que me falta para ordenar esto en serie en modo de fondo también?

Editar: Lo comprobé creando una tarea de descarga una por una. Después de terminar la primera tarea, cree la siguiente dentrosetTaskDidCompleteBlock y así. Solo completa la primera tarea y después de esa sesión se bloquea mientras la tarea se crea dentrosetTaskDidCompleteBlock (Esto sucede solo cuando se ejecuta en modo de fondo, para primer plano funciona bien).

Aquí están mis capturas de pantalla del registro de fallas:

y

Cualquier ayuda sería apreciada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta