ios - resetear - hard reset iphone 6 con botones
Reanudar tareas utilizando NSURLSession cuando la aplicación se eliminó del fondo o en el reinicio del dispositivo (1)
Finalmente llego a la conclusión de que,
Si el sistema finaliza una aplicación de iOS y la relanza, la aplicación puede usar el mismo identificador para crear un nuevo objeto de configuración y sesión y recuperar el estado de las transferencias que estaban en progreso en el momento de la terminación. Este comportamiento se aplica solo para la terminación normal de la aplicación por parte del sistema.
Si el usuario finaliza la aplicación desde la pantalla multitarea, el sistema cancela todas las transferencias en segundo plano de la sesión.
Para obtener más detalles, consulte la documentación de Apple sobre NSURLSessionConfiguration Class Reference aquí .
Revisé muchos documentos pero no encontré una solución para las tareas de reanudación mediante NSURLSession cuando la aplicación se eliminó del fondo o en el reinicio del dispositivo.
Estoy tratando con Amazon S3 para subir algunos archivos, en eso puedo
- Cargue el archivo en S3 usando NSURLSessionUploadTask, cuando la aplicación esté en primer plano y en segundo plano.
- Reanude la tarea cuando la aplicación se cuelgue debido a cualquier otro motivo durante la carga y si la aplicación no se elimina del fondo.
- Reinicie la tarea si reinicio el dispositivo durante la carga y si la aplicación no se elimina del fondo.
Aquí está mi código para lograr la funcionalidad del currículum escrito en el método applicationDidBecomeActive de appdelegate.
// Initialize session config and the background session
NSURLSession *l_taskSession = [self backgroundSession];
[l_taskSession getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks)
{
if([uploadTasks count])
{
for (int i=0; i<[uploadTasks count]; i++)
{
NSURLSessionUploadTask *uploadRequestTask = (NSURLSessionUploadTask*)[uploadTasks objectAtIndex:i];
[uploadRequestTask resume];
NSLog(@"-------- Upload Resumed ------- ");
}
}
else if(![uploadTasks count])
{
NSLog(@"------- There are no previous tasks -------");
}
}];
Ahora el problema es tanto en el caso (2 y 3) mencionado anteriormente que no da la lista de tareas que estaban en progreso, cuando retiré la aplicación del fondo y la volví a lanzar, según el código cae en otra condición y registros
2015-06-12 17: 12: 32.902 AppName [162: 60b] ------- No hay tareas previas -------
Entonces mi pregunta es ¿es posible reanudar tareas cuando la aplicación se eliminó del fondo? ¿O alguien puede darme enlaces de referencia donde puedo encontrar la respuesta para el mismo, se agradece cualquier ayuda.