2012-02-08 10 views
16

Recientemente he leído las noticias en http://allseeing-i.com que ASIHTTP se está suspendiendo. Tengo mucho respeto por los creadores de la biblioteca. Sin embargo, ahora estoy buscando un sustituto que también admita la descarga en cola (multiproceso) en iOS, que también admite una barra de progreso con la información adecuada.El mejor sustituto, sucesor o alternativa para ASIHTTP para una cola de descarga

¿Hay alguna biblioteca (con suerte ligera) que se encuentre en un ciclo de desarrollo activo? El apoyo de ARC también sería muy apreciado.

Muchas gracias por su opinión.

Respuesta

3

AFNetworking se alaban como un sucesor de ASIHTTPRequest. Se basa en colas de operaciones y, según mi experiencia, funciona razonablemente bien. Probablemente puedas hacer lo que quieras sin una biblioteca de terceros, pero si quieres hacerlo un poco más fácil para ti, una combinación de las subclases AFURLConnectionOperation y la clase AFHTTPClient funcionarán muy bien.

+0

Tenga en cuenta que aunque se ha hecho algo de trabajo para que sea compatible con ARC, la línea principal oficial del código de AFNetworking no es compatible con ARC. Mientras tanto, es bastante fácil aplicar -fno-objc-arc a los archivos relevantes. – warrenm

+0

Echo de menos la simplicidad de ASIHTTTP setQueueDidFinishSelector ... ¿Alguna sustitución de AFNetworking en lugar de la observación de KVO de NSOperationQueue? Eso es un poco feo .. –

+0

Bueno, el método 'setCompletionBlockWithSuccess: failure:' en la clase de operación 'AFHTTPRequestOperation' le permite establecer un bloque arbitrario para ser invocado en caso de éxito o fracaso, lo que para mí es aún más elegante que usar el objetivo/patrón de acción. – warrenm

3

Escribí uno recientemente. Es totalmente compatible ARC y bastante ligero:

https://github.com/nicklockwood/RequestQueue

partir de la versión 1.2 que soporta carga y descarga barras de progreso (véase el ejemplo ProgressLoader incluido).

En lugar de hacer un marco monolítico como ASI, he tratado de mantener esto lo más simple posible. Eso significa que puede mezclarlo y combinarlo con otras bibliotecas para cosas como generación de parámetros POST, análisis JSON, etc.

+0

Se ve muy bien. Realmente me alegro de deshacerme de GTMHTTPFetcher. – PKCLsoft

5

Es posible que desee consultar MKNetworkKit. En sus palabras:

El objetivo de MKNetworkKit era para que sea tan rico en características como ASIHTTPRequest pero simple y elegante para usar como AFNetworking

Tiene una serie de características muy agradables para hacer cola y la gestión de situaciones de fuera de línea.

+0

Esta biblioteca está en desuso debido a la conexión NSUrprueba. –

Cuestiones relacionadas