web-dev-qa-db-fra.com

Erreur Xcode 4.2 SIGABRT

Chaque fois que je lance mon application sur le simulateur iPad, cela fonctionne parfaitement. Mais, lorsque je l'exécute sur le simulateur iPhone, lorsque je clique sur le bouton d'accueil, un message d'erreur Xcode dans mon fichier main.m indique: "Thread 1: Signal reçu du programme: SIGABRT". Il met en évidence cette ligne dans le code de mon main.m: return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

Ce problème ne se produit toutefois pas lorsque j'appuie sur le bouton d'accueil du simulateur iPad. J'ai fait beaucoup de recherches ici sur cette erreur, mais rien d'utile n'a semblé se trouver. Est-ce que quelqu'un sait comment s'y prendre pour résoudre ce problème?

Edit: voici quelques informations supplémentaires de la console de débogage

"Impossible d'enregistrer None.TestApplication auprès du serveur d'amorçage. Erreur: code d'erreur inconnu. Cela signifie généralement qu'une autre instance de ce processus était déjà en cours d'exécution ou était bloquée dans le debugger.sharedlibrary apply-load-rules-rules Langue actuelle: auto; actuellement objective-c (Gdb) 

10
Henry F

La ligne UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); signifie simplement qu'une exception a été levée lors de l'exécution de votre programme. Cela peut aller d'un problème de mémoire à une simple erreur d'exécution. Regardez dans la console du débogueur cible. il vous dira où l'erreur s'est produite.

Edité en raison d'une question modifiée: J'ai résolu cette question auparavant en restaurant le simulateur iOS aux valeurs d'usine (Ouvrez le menu "Simulateur iOS" en haut à gauche -> Réinitialiser le contenu et les paramètres). Quittez ensuite le simulateur iOS et Xcode, puis redémarrez votre ordinateur. Cela éliminera l'autre instance du processus.

15
DGund

Je viens de rencontrer le même problème (perdu environ 2 heures à ce sujet, en fait!). Aucune exception n'a été lancée. Finalement, je suis tombé sur une réponse comme celle-ci. Réinitialiser et redémarrer le simulateur et XCode ne m'a pas permis de résoudre le problème, mais un redémarrage l'a fait.

Donc, si vous voyez cela et qu'il n'y a PAS quelque chose à propos des exceptions dans la trace, alors je pense qu'un redémarrage de votre machine est susceptible de le réparer.

5
Joe Strout

J'ai eu des problèmes très similaires et j'ai constaté que si je passais du débogueur LLDB à GDB (à partir du menu Product/Scheme/Edit Scheme) le problème disparaissait. Ça vaut le coup d'essayer.

3
AW101

J'ai fait tout ce qui précède, y compris redémarrer mon ordinateur, réinitialiser le simulateur mais rien ne fonctionnait. J'ai donc dû copier tous les fichiers dans un dossier séparé, créer un nouveau projet et reconstruire mon fichier nib, puis les copier et les coller dossier dans mon nouveau projet. Vraiment assez méchant. Si rien ne fonctionne pour vous et que votre application n'est pas trop complexe, cela peut être une alternative. Peut-être pas la meilleure mais une preuve d’eau qui marche.

3
Jonathan

Dans mon cas, j'avais du code dans viewDidLayoutSubviews, cette disposition mise à jour et provoquait l'appel de viewDidLayoutSubviews qui passait dans une boucle infinie. Déplacer ce code a résolu cette erreur.

Je suppose que les boucles infinies sur le fil principal finissent par être une exception non interceptée.

1
Yaroslav