Aller, je m'y colle....

LeChatNoirLeChatNoir Membre, Modérateur

Depuis la dernière maj de mon appli, j'ai vu le nombre d'erreurs (crash) considérablement augmenter.


 


C'est à  peine étonnant puisque l'appli a fait l'objet d'une refonte assez importante (utilisation des storyborad, size class, autolayout, etc).


 


Jusqu'ici, je me suis contenté de me dire que le nombre avait certes augmenté mais que c'était tolérable mais je commence à  avoir pas mal de retours négatifs et j'ai décidé de me retrousser les manches et de m'y coller.


 


Sous Flurry Analytics, j'ai isolé les 4 cas les plus fréquents de crash. Je peux en télécharger les rapports de crash.


 


Un exemple :



0 libobjc.A.dylib 0x3aa9b636 _objc_msgSend + 21
1 ClimbingAway 0x000896d5 -[UIImageView setImageWithURLRequest:placeholderImage:success:failure:] + 856
2 libdispatch.dylib 0x3af79833 <redacted> + 10
3 libdispatch.dylib 0x3af7981f <redacted> + 22
4 libdispatch.dylib 0x3af79777 <redacted> + 254
5 CoreFoundation 0x302dc8f1 <redacted> + 8
6 CoreFoundation 0x302db1c5 <redacted> + 1300
7 CoreFoundation 0x30245f4f _CFRunLoopRunSpecific + 522
8 CoreFoundation 0x30245d33 _CFRunLoopRunInMode + 106
9 GraphicsServices 0x3514a663 _GSEventRunModal + 138
10 UIKit 0x32b9116d _UIApplicationMain + 1136
11 ClimbingAway 0x0006c78b +[Topo upsertTopo:] + 1450
12 libdyld.dylib 0x3af9eab7 <redacted> + 2

un peu light comme rapport...


 


Y a des astuces pour ciblé un peu plus facilement où ca se passe ?


 


Réponses

  • Hello,


     


    Il faudra aller voir dans la méthode :



    [UIImageView setImageWithURLRequest:placeholderImage:success:failure:] + 856

    Mais ça ça ne doit pas être facile de deboguer puisque il me semble que c'est la catégorie AFNetworking que tu utilises. 


     


    Peut être on passant une request nil tu arriveras a faire crasher AFNetworking. 

  • Est-ce que tu as été capable de reproduire le crash ? Peut-être que tu peux cibler certains devices/versions d'iOS.


  • LeChatNoirLeChatNoir Membre, Modérateur

    Non pas capable, c'est ça qui est compliqué....


    Oui, c'est effectivement une catégorie d'AFNetworking.

  • Dans le .crash, tu as Hardware Model & OS Version normalement.


  • Tu peux utiliser l'interface permettant de récupérer.es crash dans L'organizer d'Xcode, elle d'indique à  peu près où se trouve le problème dans le code.


    Je dis "à  peu près" car la ligne indiquée ne me parait pas toujours juste, sans doute à  cause des optimisations faite à  la compilation.
  • LeChatNoirLeChatNoir Membre, Modérateur

    J'ai trouvé l'endroit mais je n'arrive pas à  reproduire... Je vous tiens au jus.


    ++


Connectez-vous ou Inscrivez-vous pour répondre.