NSURL La transferencia de background de session no funciona

Estoy intentando download una serie de files desde la aplicación de server a iOS, con la intención de que la descarga de estos files ocurra incluso cuando la aplicación está en modo de background .

Estoy utilizando la transferencia de background proporcionada por NSURLSession y su serie de API.

Inicié la tarea de descarga cuando la aplicación se ejecutaba en modo de primer plano y me dio el resultado esperado, ya que la serie de descarga funcionaba bien, pero si presiono el button de inicio cuando la serie de descargas está en progreso, se detendrá de inmediato y cuando entre en la aplicación nuevamente se reanudará la descarga.

Si lo digo en simples palabras , la transferencia de background ni siquiera me funciona.

EDITAR

Inicialmente estaba probando esto en el simulador, no funcionó bien y alguien comentó que probé el mismo en el dispositivo real, así que lo probé conectando un dispositivo real en el modo de debugging, funcionó bien y pensé que todo estaba resuelto, pero nuevamente me dio Una sorpresa es que si desconecto el dispositivo de Xcode y la aplicación de verificación, no funcionó en absoluto 🙁

He creado una aplicación de ejemplo para demostrar este problema, por favor descárguelo desde aquí.

Nota: en esta aplicación de muestra, reinicié la llamada de descarga en didFinishDownloadingToURL para simular una serie de files de descarga

¿Puede alguien ayudarme a resolver esto?

No ha seleccionado el modo de background correcto en la pestaña Capacidades . Compruebe la opción de búsqueda de background . La opción de búsqueda de fondo no está marcada

Además, si está probando solo en el simulador, click Debug -> Simulate Background Fetch en el menu. De lo contrario, la búsqueda de background no se iniciará en el simulador.