2012-02-08 8 views
16

Ho letto di recente le notizie su http://allseeing-i.com che ASIHTTP sta per essere interrotto. Ho molto rispetto per i creatori della biblioteca. Tuttavia, ora sto cercando un sostituto che supporti anche il download in coda (multithreading) su iOS, che supporti anche una barra di avanzamento con informazioni appropriate.Miglior sostituto, successore o alternativa per ASIHTTP per una coda di download

C'è qualche libreria (si spera leggera), che si trova in un ciclo di sviluppo attivo? Anche il supporto ARC sarebbe molto apprezzato.

Mille grazie per i vostri pensieri.

risposta

3

AFNetworking viene lodato come successore di ASIHTTPRequest. Si basa su code di operazioni e, secondo la mia esperienza, funziona abbastanza bene. Probabilmente potresti fare ciò che vuoi fare senza una libreria di terze parti, ma se vuoi renderlo un po 'più semplice per te, una combinazione di sottoclassi AFURLConnectionOperation e la classe AFHTTPClient funzioneranno bene.

+0

Si noti che sebbene sia stato fatto del lavoro per renderlo compatibile con ARC, la linea principale ufficiale del codice AFNetworking non è compatibile con ARC. Nel frattempo, è abbastanza facile applicare -fno-objc-arc ai file rilevanti. – warrenm

+0

Mi manca la semplicità di ASIHTTTP setQueueDidFinishSelector ... Eventuali sostituzioni per AFNetworking piuttosto che NSOperationQueue KVO osservando? Questo è un po 'brutto .. –

+0

Bene, il metodo 'setCompletionBlockWithSuccess: failure:' sulla classe operativa' AFHTTPRequestOperation' ti permette di impostare un blocco arbitrario da chiamare in caso di successo o fallimento, che per me è ancora più elegante dell'uso del target/modello di azione. – warrenm

3

ne ho scritto uno di recente. E 'completamente ARC e abbastanza leggero:

https://github.com/nicklockwood/RequestQueue

A partire dalla versione 1.2 supporta il download e caricare le barre di avanzamento (si veda l'esempio ProgressLoader incluso).

Invece di creare un framework monolitico come ASI, ho cercato di mantenere il più semplice possibile. Ciò significa che sei libero di combinarlo con altre librerie per cose come la generazione di parametri POST, l'analisi di JSON, ecc.

+0

Sembra fantastico. Davvero contento di liberarmi di GTMHTTPFetcher. – PKCLsoft

5

Puoi guardare MKNetworkKit. Nelle sue parole:

obiettivo di MKNetworkKit è stato quello di rendere il più ricco di funzionalità come ASIHTTPRequest ma semplice ed elegante da usare come AFNetworking

Ha un certo numero di molto bello caratteristiche per fare la coda e la gestione di situazioni non in linea.

+0

Ora questa libreria è obsoleta a causa della connessione NSUrl con privilegi. –