f*cking bug sur prise de photo
guittonews
Membre
Rebonjour tout le monde
Mon appli avance bien et je suis dans la dernière ligne droite et ce grace à vous
Mais cela fait quelques heures que je galère sur un truc.
Mise en situation : j'ai une arborescence de table view et a chaque extremités de l'arborescence j'ai une vue dans laquelle je peux ecrire du texte et/ou prendre une photo.
En restant sur la même extremité : Je peux prendre une photo, l'envoi au WS marche nikel. Une seconde photo, toujours nikel. Une troisième, toujo...PLANTAGE!
Autre parcours utilisateur : il se balade de "feuille" en "feuille" (extremités d'un arbre quoi ) et prends une ou deux photos par feuille. Il peut même revenir sur une feuille pour laquelle il avait déjà pris deux photos. Puis à un moment il s'arrete, admire la vue et décide de prendre une 3ème photo...ce qui à l'air d'être un peché mortel dans le monde de mon appli...
J'ai cette erreur (qui ne me parle pas du tout...) :
Merci pour votre patience
Mon appli avance bien et je suis dans la dernière ligne droite et ce grace à vous
Mais cela fait quelques heures que je galère sur un truc.
Mise en situation : j'ai une arborescence de table view et a chaque extremités de l'arborescence j'ai une vue dans laquelle je peux ecrire du texte et/ou prendre une photo.
En restant sur la même extremité : Je peux prendre une photo, l'envoi au WS marche nikel. Une seconde photo, toujours nikel. Une troisième, toujo...PLANTAGE!
Autre parcours utilisateur : il se balade de "feuille" en "feuille" (extremités d'un arbre quoi ) et prends une ou deux photos par feuille. Il peut même revenir sur une feuille pour laquelle il avait déjà pris deux photos. Puis à un moment il s'arrete, admire la vue et décide de prendre une 3ème photo...ce qui à l'air d'être un peché mortel dans le monde de mon appli...
J'ai cette erreur (qui ne me parle pas du tout...) :
[Session started at 2009-04-23 17:41:45 +0200.]<br />Loading program into debugger...<br />GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)<br />Copyright 2004 Free Software Foundation, Inc.<br />GDB is free software, covered by the GNU General Public License, and you are<br />welcome to change it and/or distribute copies of it under certain conditions.<br />Type "show copying" to see the conditions.<br />There is absolutely no warranty for GDB. Type "show warranty" for details.<br />This GDB was configured as "i386-apple-darwin".<br />warning: Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit" (file not found).<br />warning: Unable to read symbols from "UIKit" (not yet mapped into memory).<br />warning: Unable to read symbols for "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics" (file not found).<br />warning: Unable to read symbols from "CoreGraphics" (not yet mapped into memory).<br />warning: Unable to read symbols for "/System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation" (file not found).<br />warning: Unable to read symbols from "CoreLocation" (not yet mapped into memory).<br />Program loaded.<br />sharedlibrary apply-load-rules all<br />Attaching to program: `/Users/celinesalomon/Library/Application Support/iPhone Simulator/User/Applications/004059C0-9252-4309-9446-2E981C8EE938/speedsmos.app/speedsmos', process 2395.<br />
Merci pour votre patience
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
sachant que j'ai ca dans mon viewDidLoad :
(je change le sourceType suivant que je suis sur le device (apn) ou sur le simulateur (gallerie photo) mais le comportement est le meme)
Du coup, surtout vu le use case que tu décris pour reproduire le bug, je pense (voire je suis sûr) que c'est un problème mémoire : ton appli ne lâche pas assez de ressources, tu gardes sans doute trop de choses en mémoire. Il ne faut pas oublier que l'iPhone est un device mobile, et que si on peut éviter de garder en mémoire de gros trucs volumineux, il faut éviter.
Or là tu prends des photos... donc tu récupères des UIImages... qui sont plutôt énormes ! La doc du UIImagePickerController t'indique bien d'ailleurs qu'il est conseillé ensuite de redimentionner les images obtenues par l'appareil photo, au moins pour l'affichage... mais en plus si toi tu en prends plusieurs, et les garde toutes en mémoire... tu vas vite arriver à saturation.
En plus je ne suis pas persuadé que dans l'appli que tu veux faire, il soit utile d'envoyer à ton WE la version "grande taille" de la photo prise, si ?
Parce que sinon faut mieux réduire l'UIImage récupérée, et ne garder que la version réduite de l'UIImage, et relâcher la version "grande taille".
Quitte d'ailleurs à la recharger plus tard.