iOS crash libobjc.Un.dylib objc_msgSend
Je suis le crash indiqué ci-dessous dans Crashlytics.
Je n'arrive pas à comprendre d'où cela vient formulaire à l'intérieur de l'app. Malheureusement, je n'ai jamais été en mesure de générer ce crash moi-même, mais de ce qui se passe dans la nature.
Il n'y a qu'une seule référence pour le nom de l'application, et il n'y a rien qui conduit à montrer où dans l'application, ce qui est à venir.
Est le fait qu'il n'existe pas de données quant à l'endroit où dans l'application cela se produit, une indication d'un problème survenant lors de la didFinishLaunchingWithOptionsand donc pas obtenir assez loin pour montrer plus en détail? Ou est-il une autre raison que le journal est en manquent de données pour montrer où la question est?
Quelqu'un pourrait-il indiquer comment je peut être en mesure de suivre cela?
Thread : Crashed: com.apple.main-thread
0 libobjc.A.dylib 0x0000000195de3bd0 objc_msgSend + 16
1 CoreFoundation 0x0000000183fd9458 CFRelease + 524
2 CoreFoundation 0x0000000183fe5a18 -[__NSArrayM dealloc] + 152
3 libobjc.A.dylib 0x0000000195de9724 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 564
4 CoreFoundation 0x0000000183fdd074 _CFAutoreleasePoolPop + 28
5 Foundation 0x0000000184f0e588 -[NSAutoreleasePool release] + 148
6 UIKit 0x0000000188be03f4 -[UIApplication _run] + 588
7 UIKit 0x0000000188bdaf40 UIApplicationMain + 1488
8 _THE_APP_NAME_ 0x0000000100031e20 main (main.m:16)
9 libdyld.dylib 0x000000019647aa08 start + 4
Crashed: com.apple.main-thread
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00000000f5b2beb8
J'ajoute, en ce qui concerne les commentaires placés sur ce fil. Ce code a été la principale de l'INTERFACE liée au changement, d'autres que d'habitude étiquette etc, je ne vois pas de problème avec.
Le code ci-dessous a été ajouté à l'AppDelegate.m, DidFinishLaunchingWithOptions.
Je me demande, que l'accident n'est pas quelque chose que j'ai été en mesure de re-produire, et tout se passe au quotidien n'est qu'à une poignée de cas, si elle pouvait être un problème de timing, et l'INTERFACE utilisateur de ne pas être disponible pour recevoir les messages.
Je souhaite la bienvenue à toutes les pensées, et si vous êtes d'accord, si je dois, au lieu de passer le code de la ViewDidLoad dans le ViewController à la place.
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor lightGrayColor], NSForegroundColorAttributeName,
[UIFont fontWithName:@"Helvetica Neue" size:16],
NSFontAttributeName, nil] forState:UIControlStateNormal];
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor darkGrayColor], NSForegroundColorAttributeName,
[UIFont fontWithName:@"Helvetica Neue" size:16],
NSFontAttributeName,
nil] forState:UIControlStateSelected];
[[UITabBar appearance] setBarTintColor:[UIColor colorWithRed:0.44 green:0.99 blue:0.45 alpha:1]];
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.44 green:0.99 blue:0.45 alpha:1]];
[[UINavigationBar appearance] setTintColor:[UIColor darkGrayColor]];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor darkGrayColor], NSFontAttributeName : [UIFont fontWithName:@"Helvetica Neue" size:22]}];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
OriginalL'auteur NeilMortonNet | 2015-07-11
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de recherches dans le code, je suis tombé sur un autre post ici objc_msgSend [__NSArrayM dealloc] rapport de crash parfois de Crashlytics.
Il semble que Crashlytics avait un bug dans 3.0.9, et a été la cause de ce problème.
Mis à jour le SDK et maintenant tous d'accord.
OriginalL'auteur NeilMortonNet
C'est un accident causé par un Système de bibliothèque. Il n'y a pas beaucoup que vous pouvez faire ici
C'est vrai, CorefFoundation/libobj.Un.dylib envoie un message à un point dans le mémoire où il n'existe aucune instance d'une classe pour l'exécuter. Avec ce rapport de crash vous ne disposez pas d'un changement de repérer l'endroit dans le code où il arrive. Il a juste dit peut être sûr que c'est causé par un objet qui fait partie de la UIKit (par exemple: UILabel, UINavigationBar, UIImageView etc.)
Je vous remercie. J'apprécie vraiment que vous preniez le temps de vous expliquer et aussi de faire allusion à l'endroit où le problème pourrait être. Je dis ceci, car le problème n'existait pas jusqu'à ce qu'une mise à jour dans l'application, donc je vais avoir un regard sur les changements et voir ce que je peut découvrir. Bien sûr, le problème est que je suis totalement incapable de re-créer cette erreur moi-même, et donc en la fermant, c'est comme trouver une aiguille dans la botte de foin! Je vous remercie encore.
J'ai regardé mon code et de l'INTERFACE principale modifications qui ont été apportées dans la mise à jour sont ceux que j'ai ajouté dans l'édition de la principale question qui se pose maintenant. Ces sont tous appelés dans DidFinishLaunchingWithOptions. Je me demande si il y a un timing type de problème, selon lequel l'INTERFACE utilisateur n'est pas disponible sur les occasions lente de l'appareil?) et donc le récepteur (UI) n'est pas là. Je ferais bon accueil à vos pensées? Et si vous sentez que cela pourrait être le cas, doit-on passer ces appels à ViewDidLoad sur la Vue initiale du Contrôleur à la place?
OriginalL'auteur seeya