Je vois un crash étrange dans l'une de mes applications qui semble provenir d'une méthode privée sur UIAlertView. J'ai fait quelques recherches et trouvé quelques autres références à cette méthode étant impliqué dans des accidents tels que here, mais je ne suis pas convaincu que la cause est la même. Cependant, pour être certain que j'ai toujours mis le délégué UIAlertView à zéro chaque fois que le délégué est libéré.Crash sur la méthode privée de UIAlertView
La trace de la pile est la suivante:
Exception Type: SIGABRT
Exception Codes: #0 at 0x351ce32c
Crashed Thread: 0
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x351ce32c __pthread_kill + 8
1 libsystem_c.dylib 0x370c329f abort + 95
2 eLogbook 0x000bbacd -[GetOperationPartsDictionary init] (GetOperationPartsDictionary.m:22)
3 UIKit 0x32557f93 -[UIAlertView(Private) _popoutAnimationDidStop:finished:] + 855
4 UIKit 0x3240dc53 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 471
5 UIKit 0x3241357d -[UIViewAnimationState animationDidStop:finished:] + 53
6 QuartzCore 0x36eeac2f CA::Layer::run_animation_callbacks(void*) + 203
7 libdispatch.dylib 0x3140ae91 _dispatch_main_queue_callback_4CF$VARIANT$up + 197
8 CoreFoundation 0x353ad2ad __CFRunLoopRun + 1269
9 CoreFoundation 0x353304a5 CFRunLoopRunSpecific + 301
10 CoreFoundation 0x3533036d CFRunLoopRunInMode + 105
11 GraphicsServices 0x3662c439 GSEventRunModal + 137
12 UIKit 0x32426e7d UIApplicationMain + 1081
13 eLogbook 0x0007767f main (main.m:14)
Ce qui est vraiment me source de confusion à ce sujet est que la méthode -[UIAlertView(Private) _popoutAnimationDidStop:finished:]
semble appeler la méthode init sur ma classe GetOperationPartsDictionary. De la quantité limitée d'informations que j'ai reçues des utilisateurs, ce crash se produit au démarrage, à quel point cette classe n'aurait pas été chargée. J'utilise QuincyKit pour envoyer les rapports d'erreur à un serveur, d'où ils sont symbolisés en utilisant le script standard symbolicatecrash. La version de Xcode utilisée pour symboliser le crash est la même que celle utilisée pour construire le binaire, et je suis confiant que le dSYM utilisé pour symboliser le crash est le bon - les numéros de ligne pour mon code sont corrects par exemple .
Quelqu'un a des commentaires à ce sujet? Edit: aurait dû ajouter que cela se produit sur le terrain avec une application en direct, mais seulement de temps en temps. Cela a affecté peut-être un ou deux utilisateurs sur mille, mais je n'ai jamais pu le reproduire sur un appareil ou dans le simulateur.
Regarde mes dernières questions de traquer les erreurs de SIGABRT. lire spécifiquement les commentaires après la réponse pour utiliser le point d'arrêt sur toute exception. http://stackoverflow.com/questions/8072135/how-to-track-down-cause-of-sigabrt –
Merci, mais j'aurais dû mentionner que je ne peux pas le reproduire moi-même sur le simulateur ou sur un appareil, Je viens de modifier la question initiale. Par conséquent, les points d'arrêt ne vont pas aider :( – yod
@yod Post du code afin que nous puissions vous aider. –