2011-10-17 6 views
6

Quindi ho un'app che funziona su iOS 3.2 - 4.x. Utilizza ASIHTTPRequest per effettuare tutte le chiamate API REST. Da quando il mio team e io abbiamo aggiornato tre dei nostri iPhone 4 a iOS 5, l'app si bloccherà e mostrerà ActivityIndicator a tempo indeterminato. Ho guardato i registri del server e le richieste non stanno colpendo il server.iOS 5 Appeso a ASIHTTPRequest

Tuttavia, se premo il pulsante home di iPhone, quindi apro di nuovo l'app, la richiesta passerà e riceverò i dati, attività come di consueto. Per qualche motivo, le richieste non vengono mai attivate finché non riapro l'app.

Un altro tidbit strano, l'app funziona in Xcode 4.2 e il simulatore di iPhone. L'app funziona anche su un iPad2 con iOS 5 (l'app è solo per iPhone).

Questo sarebbe un problema ASIHTTPRequest? Non sei troppo sicuro di come individuare il problema dal momento che non si verifica un arresto anomalo e si verifica solo al telefono.

Qualsiasi intuizione sarebbe molto apprezzata! Grazie.

+0

Posso fare +1 su questo. Sto avendo ogni sorta di comportamento strano sin da iOS 5 con ASI. In particolare dopo l'aggiornamento al nuovo Xcode. Ho una teoria secondo cui il mio vecchio Xcode compilerà queste app bene. È iniziato quando ho visto mancare libz.1.2.3 ... hmmm è strano. Quindi l'ho sostituito con 1.2.5. Tutto sembrava funzionare, ma ora ho un crash quando provo a far apparire un controller di visualizzazione prima che la richiesta finisca. Ho risolto questo errore molto tempo fa mantenendo il controller della vista, ma questo non aiuta più. – Vinnie

risposta

0

Naturalmente non posso essere certo senza ulteriori dettagli e un esempio di codice, ma un paio di cose sulla tua descrizione suggeriscono una possibilità per ricreare almeno il problema. Il fatto che funzioni nel simulatore e funzioni dopo che l'app è stata chiusa e riaperta mi fa pensare che la tua app potrebbe ricevere un avviso di memoria a un certo punto prima di quando si verifica questo. Durante la pulizia che si verifica in seguito all'allarme di memoria, è possibile che qualcosa venga scaricata e che non venga correttamente reinizializzato fino a quando non si ritorna all'app dalla schermata principale. È possibile testare questo simulando un avviso di memoria durante l'esecuzione nel simulatore Xcode 4.2, anche se potrebbe essere necessario capire esattamente dove si verifica l'avviso di memoria al fine di duplicare il problema.

+0

Normalmente gli avvisi di memoria vengono visualizzati nel registro come * Avviso di memoria ricevuta. * Anch'io ho quel problema con ASIHTTP e iOS5 ma non ricevo alcun avviso di memoria. Probabilmente migrerà da ASIHTTP a AFNetworking. – borisdiakur

0

Sono un principiante, quindi probabilmente è stata una supposizione fortunata, ma i miei problemi sono stati risolti quando ho disattivato l'ARC e creato il progetto. vedere se questo può aiutare.