2012-05-02 20 views
9

Tengo que descargar una gran cantidad de datos (en cualquier lugar entre 300MB - 1GB).Cómo pausar/reanudar descargas en iPhone (iOS)

Actualmente estoy usando **NSURLConnection** para descargar los datos. Pero, ahora estoy viendo un escenario en el que el usuario podría perder la conexión a Internet durante el proceso de descarga. Actualmente estoy reiniciando todo el proceso de descarga en este escenario, que creo que es una muy mala forma de descarga y una pérdida de ancho de banda de usuario.

Hay un proceso en el que puedo administrar las descargas con la funcionalidad Pausa/Reanudar mientras descargo.

Respuesta

11

Aquí hay un tutorial de cómo hacer esto en IOS.

También verifique documentation. Esto requerirá que su servidor admita encabezados de rango.

+0

Uy .... supongo. esto funciona solo para MAC OS y NO para iOS ... ¡Corrígeme si estoy equivocado! Estoy claramente buscando algo que funcione en iOS –

+0

+1 para el enlace ... Pero ¿puedes agregar algunos fragmentos de código por favor? ... –

+0

supongo que necesitamos usar la clase NSURLDownload para hacer uso de esta función. Pero la documentación dice claramente NSURLDownload no ava disponible para iOS. ¿Alguna idea sobre eso? –

1

esto necesita sincronización tanto en el servidor como en el lado del cliente. y ya te dije que usaras trozos. Definitivamente trozos es la única solución si desea hacer una pausa. Enviarás el servidor con un ID de fragmento para parar hasta que me quede el siguiente y la próxima vez preguntarás desde ese ID.

+0

gracias por la respuesta ... Por favor, puede ser más específico técnicamente. Quiero decir, ¿puedes explicar un poco más sobre cómo hacerlo? Cualquier enlace también sería útil. –

+0

lo siento, no hay idea sobre el enlace. puedes googlearlo De hecho, implementé algo similar a esto en mi aplicación. el caso es que el servidor envía un mensaje con información sobre la cantidad de paquetes que se recibirán. el cliente envía bien y comienza la comunicación, siempre que el cliente necesite hacer una pausa. enviará un mensaje a través de un servicio web que se detiene hasta ahora, que he recibido estos paquetes. la próxima vez que el cliente solicite el proceso de reanudación, el servidor tenía la información de los últimos paquetes enviados, por lo que comenzará a enviar los paquetes restantes, lo más básico es cambiar la mayoría de su trabajo en el lado del servidor. – Saad

+0

ping me para más ... – Saad

-1

puede utilizar "NSURLSession para pausar y reanudar

0

solución fija:

fijo enlace roto Y aquí está el trabajo Tutorial para reanudar Archivo descarga de archivos en IOS

Cuestiones relacionadas