NSURL Sesión con datos de currículum no válidos

Utilizo [NSURLSessionConfiguration defaultSessionConfiguration] para configurar mi session de URL.

Hago una pausa en una tarea llamando a cancelByProducingResumeData: para generar datos de reanudación y savelos en el disco. Cuando quiero reiniciar la tarea, llamo downloadTaskWithResumeData: Funciona bien hasta que reinicie la aplicación.

Mato la aplicación después de detener una tarea. Luego, inicio mi aplicación nuevamente y llamo downloadTaskWithResumeData , encontré que los datos de la hoja de vida no eran válidos.

Analizo los datos del curriculum vitae en NSDictionary y obtengo el NSURLSessionResumeInfoLocalPath , que es

"/private/var/mobile/Containers/Data/Application/5DD071C3-9D5E-4D76-9F74-57B6C92445CB/tmp/CFNetworkDownload_IUI6kg.tmp" . Intento acceder a este file, pero no existe.

Mi pregunta es cómo puedo continuar una tarea de descarga usando los datos del curriculum vitae después de reiniciar mi aplicación.

Gracias.

Cada vez que reinicies tu aplicación, todo lo que esté bajo tmp se limpiará, yo estaba experimentando lo mismo, aunque intenté copyr todo el * .tmp y pegarlo cada vez que la aplicación reinicia, producirá un error

Mi consejo es que, compruebes si se puede acceder al file * .tmp, vuelve a download desde el inicio si no es así

Encontré este problema Descubrí que la ruta de acceso de sandbox cambiará después de reiniciarse la aplicación en iOS8. Pero el curriculum vitae registra la antigua ruta de acceso a la reserva, que permite que la tarea de descarga no pueda encontrar el curriculum vitae. Por lo tanto, actualizo la ruta de acceso de la caja de arena grabada en sandbox mediante la tecla ' NSURLSessionResumeInfoLocalPath ', funciona:

 NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:resumeDataPath]; NSString *resumeDataFileName = [dic[@"NSURLSessionResumeInfoLocalPath"] lastPathComponent]; NSString *newTempPath = NSTemporaryDirectory(); NSString *newResumeDataPath = [newTempPath stringByAppendingPathComponent:resumeDataFileName]; [dic setValue:newResumeDataPath forKey:@"NSURLSessionResumeInfoLocalPath"]; [dic writeToFile:resumeDataPath atomically:YES];