J'écris une application iPhone avec un serveur web. Pour traiter une requête web, je prends la requête web et j'écris() les données que je veux renvoyer. Lorsque j'essaie de télécharger un fichier de taille moyenne (3-6 Mo), cela fonctionne très bien, mais si j'annule le téléchargement à mi-chemin, l'application plante et ne laisse aucune trace d'erreur. Je pense que le descripteur de fichier devient invalide à mi-chemin de l'écriture, et provoque le crash. Je ne sais vraiment pas si c'est ce qui cause le crash, je suppose juste. Par exemple, je base mon serveur web sur this par exemple.write() provoque un plantage fatal lorsque filedescriptor devient invalide
NSString *header = @"";
NSData *data = [NSData dataWithContentsOfFile:fullPath];
write (fd, [header UTF8String], [header length]);
write(fd, [data bytes], [data length]);
close(fd);
Est-ce que quelqu'un sait comment résoudre ce problème? Je pensais à découper les données et à écrire chaque partie, mais je ne pense pas que ça aiderait.
Quel code utilisez-vous pour arrêter le téléchargement? Avez-vous essayé d'exécuter l'application dans le débogueur pour attraper le crash? – codewarrior
Pourquoi supposer quoi que ce soit? Vous avez des outils pour vous aider à identifier le point de collision. Vous devriez avoir un backtrace, au moins. Exécutez votre application dans le débogueur et voyez où elle se bloque. – bbum