2012-02-19 5 views
5

Per un progetto devo utilizzare AFNetworking. Ho ottenuto una nuova copia da github e il progetto di esempio di iOS sembra funzionare.afnetworking - exc_bad_access in startMonitoringNetworkReachability

Tuttavia - quando copio sopra la cartella "AFNetworking" ad un nuovo progetto Xcode e cercare di fare una chiamata http, si blocca nella inizializzazione del AFHTTPClient

Quindi, in [AFHTTPClient initWithBaseURL:] c'è questo codice:

#ifdef _SYSTEMCONFIGURATION_H 
    [self startMonitoringNetworkReachability]; 
#endif 

e sembra davvero stupido, ma

1) quando non mi collego SystemConfiguration - il progetto non viene compilato

(simboli non definiti per l'architettura i386: "_SCNetworkReachabilityCreateWithName", fa riferimento a: - [AFHTTPClient startMonitoringNetworkReachability] in AFHTTPClient.o)

2) Quando faccio collegamento SystemConfiguration - si blocca il progetto in fase di esecuzione all'interno startMonitoringNetworkReachability con EXC_BAD_ACCESS:

SCNetworkReachabilitySetCallback(self.networkReachability, AFReachabilityCallback, &context); 

Qualcuno ha avuto questo problema? Dal modo in cui lodano la loro lib in github ho pensato che sarebbe stato più lucido.

+0

ancora non funziona per me, nessuno? –

+0

hai qualche soluzione? Ho un'app che ha 2 bersagli, funziona su un target ma non funziona su un altro target. È così strano. – nonamelive

+0

è davvero davvero strano, ancora nessuna soluzione per quello –

risposta

5

Secondo the documentation:

Questo metodo richiede il quadro SystemConfiguration. Aggiungilo nella fase di costruzione "Link Binary With Library" del target attivo e aggiungi #import al prefisso di intestazione del progetto (Prefix.pch).

È incluso il quadro, ma ha fatto si aggiunge #import <SystemConfiguration/SystemConfiguration.h> da qualche parte nel progetto?

+0

l'importazione di SystemConfiguration è nel mio PCH, ma si blocca ancora allo stesso modo ... –

+0

sì sembra che l'unico modo per me è stato quello di lasciare un commento, [sé startMonitoringNetworkReachability] –

+0

Stesso problema qui. Potrebbe risolvere allo stesso modo commentando [startMonitoringNetworkReachability auto] – Klaas

6

Si bloccherà se il tuo URL di base è pari a zero.

+1

Questo lo ha risolto per me. Ero un'unità che testava la condizione quando veniva usato un valore baseURL non valido o nullo. –

+1

FYI, un '' baseURL' quelle negative sarà ora un'eccezione nella sua ultima AFNetworking. – mattt

+0

Buono a sapersi! Grazie, @mattt! – nonamelive