2011-10-17 4 views
6

J'ai donc une application qui fonctionne sur iOS 3.2 - 4.x. Il utilise ASIHTTPRequest pour effectuer tous les appels de l'API REST. Depuis que mon équipe et moi-même avons mis à jour trois de nos iPhone 4 sur iOS 5, l'application va se bloquer et afficher indéfiniment l'ActivityIndicator. J'ai regardé les journaux du serveur et les demandes ne touchent pas le serveur.iOS 5 Suspendu sur ASIHTTPRequests

Toutefois, si j'appuie sur le bouton d'accueil de l'iPhone, puis ré-ouvrir l'application, la demande va passer et je recevrai les données, affaires comme d'habitude. Pour une raison quelconque, les demandes ne sont jamais déclenchées jusqu'à ce que je rouvre l'application.

Encore une friandise étrange, l'application fonctionne dans Xcode 4.2 et le simulateur de l'iPhone. L'application fonctionne également sur un iPad2 avec iOS 5 (l'application est iPhone uniquement).

Serait-ce un problème ASIHTTPRequest? Pas trop sûr de savoir comment identifier le problème car il n'y a pas d'accident et se produit uniquement sur le téléphone.

Un aperçu serait grandement apprécié! Merci.

+0

Je peux +1 cela. Je reçois toutes sortes de comportements bizarres depuis iOS 5 avec ASI. Particulièrement après la mise à niveau vers le nouveau Xcode. J'ai une théorie que mon ancien Xcode va compiler ces applications très bien. Ça a commencé quand j'ai vu que libz.1.2.3 manquait ... hmmm c'est étrange. Donc je l'ai remplacé par 1.2.5. Tout a semblé fonctionner, mais maintenant je reçois un plantage lorsque j'essaie d'ouvrir un contrôleur de vue avant que la requête ne soit terminée. J'ai résolu cette erreur il y a longtemps en conservant le contrôleur de vue, mais cela n'aide plus. – Vinnie

Répondre

0

Bien sûr, je ne peux pas être certain sans plus de détails et un échantillon de code, mais quelques éléments sur votre description suggèrent une possibilité de recréer au moins le problème. Le fait que cela fonctionne dans le simulateur et fonctionne après que l'application a été fermée et rouverte me fait penser que votre application peut recevoir un avertissement de la mémoire à un moment donné avant que vous ressentiez cela. Pendant le nettoyage qui se produit à la suite de cet avertissement de mémoire, il est possible que quelque chose soit déchargé qui ne soit pas réinitialisé correctement tant que vous ne revenez pas à l'application à partir de l'écran d'accueil. Vous pouvez tester cela en simulant un avertissement de mémoire lors de l'exécution dans le simulateur Xcode 4.2, bien que vous deviez déterminer exactement où l'avertissement de mémoire se produit afin de dupliquer le problème.

+0

Généralement, les avertissements de mémoire s'affichent dans le journal sous la forme * Avertissement de mémoire reçue. * J'ai également ce problème avec ASIHTTP et iOS5 mais je n'obtiens aucun avertissement de mémoire. Va probablement migrer de ASIHTTP à AFNetworking. – borisdiakur

0

Je suis novice en la matière, donc c'était probablement une bonne idée, mais mes problèmes ont été résolus lorsque j'ai désactivé l'ARC et créé le projet. voir si cela peut aider.