web-dev-qa-db-fra.com

Xcode se bloque lors de l'ouverture du fichier de projet

Xcode continue de planter sur moi lorsque j'ouvre mon fichier de projet. Cela fait des semaines que je peux l'ouvrir correctement. Je ne sais pas comment diagnostiquer. Il se bloque uniquement pour un projet spécifique.

Process:         Xcode [1293]
Path:            /Developer/Applications/Xcode.app/Contents/MacOS/Xcode
Identifier:      com.Apple.Xcode
Version:         3.2.5 (1760)
Build Info:      DevToolsIDE-17600000~5
Code Type:       X86-64 (Native)
Parent Process:  launchd [189]

Date/Time:       2010-12-15 16:05:24.659 -0700
OS Version:      Mac OS X 10.6.5 (10H574)
Report Version:  6

Interval Since Last Report:          201 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  80 sec
Per-App Crashes Since Last Report:   4
Anonymous UUID:                      2B7F7CFC-45EA-450C-8467-6BF1E356B6F6

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000025940
Crashed Thread:  10  Dispatch queue: com.Apple.Xcode.index-access

Application Specific Information:
objc[1293]: garbage collection is ON
40
Sheehan Alam

Le crash est généralement un signe que le fichier de projet a été corrompu. Voici une liste de choses que vous pouvez faire pour essayer de résoudre ce problème.

1. Corrigez un fichier *.pbxproj corrompu

Causé par un conflit de fusion

Si vous utilisez le contrôle de version, cela peut être dû à un conflit de fusion qui n'a pas encore été résolu. 

  1. À l'aide du Finder, ouvrez le répertoire qui contient votre projet.
  2. Cliquez avec le bouton droit sur le fichier de projet YOUR_PROJECT_NAME.xcodeproj et Open With de votre outil d'édition de texte préféré, tel que Texte sublime.
  3. Recherchez les conflits de fusion qui sont généralement marqués à l'aide d'une série de barres =========.
  4. Résolvez les conflits de fusion manuellement ou supprimez les modifications d'un côté.

Causé par un XML illisible

Si cela échoue, allez dans le fichier et faites défiler rapidement pour voir si quelque chose semble hors de propos - il devrait généralement être lisible XML. Vous pouvez même essayer un validateur XML pour voir si quelque chose ne va pas.

2. Réinitialiser votre espace de travail

  1. À l’aide de Finder, ouvrez le répertoire contenant votre projet.
  2. Cliquez avec le bouton droit sur le fichier de projet MyProject.xcodeproj et choisissez Show Package Contents.
  3. Supprimez le dossier xcuserdata, qui devrait contenir un dossier avec votre nom d'utilisateur.
  4. Répète les étapes 2 et 3 pour votre fichier d'espace de travail MyProject.workspace

Comme élaboré par KennyWinker et Paul R sur les réponses ci-dessous.

3. Recréez votre projet Xcode

Notez que cela devrait être votre dernier recours car il est assez fastidieux de le faire pour les grands projets.

Enfin, vous pouvez simplement le recréer. Cela peut sembler une grosse douleur, mais en gros, vous pouvez simplement créer un nouveau projet et tout glisser sous le dossier "Classes" dans Xcode pour commencer à l'utiliser (n'oubliez pas d'ajouter également les frameworks dont vous avez besoin).

Je voulais juste élucider le commentaire de @Paul R.

J'ai eu une situation où Xcode plantait à chaque fois que j'ouvrais un fichier de projet. Il semblait être connecté à la fenêtre de l'IB qui s'ouvrait. En fin de compte, la suppression du contenu de MyProject.xcodeproj/project.xcworkspace/xcuserdata/ a résolu ce problème. Pour ce faire, il a réinitialisé l’espace de travail (fichiers ouverts, mise à l’échelle de la fenêtre, etc.).

J'espère que c'est utile.

79
Kenny Winker

Qu'est-ce qui a fonctionné pour moi?

La seule solution qui a fonctionné pour moi a été la suppression des dossiers de données dérivés du projet suspendu, à savoir les dossiers de données dérivés du répertoire ci-dessus: ~/Library/Developer/Xcode/DerivedData/. J'espère que ça aide quelqu'un.

Qu'est-ce qui n'a pas?

Comme mentionné à d'autres endroits, la suppression de MyProject.xcodeproj/project.xcworkspace/xcuserdata/ ou MyProject.xcodeproj/xcuserdata/ n'a pas fonctionné pour moi. 

40
Shobhit Puri

Je voulais juste ajouter du contenu supplémentaire à la réponse de @Kenny Winker ...

Pour supprimer vos données utilisateur xcode, allez,

  • Trouvez votre fichier de projet Xcode ex: MyProject.xcodeproj ou MyProject.xcworkspace
  • Faites un clic droit dessus et choisissez Show Package Contents
  • Enfin, supprimez tout ce qui se trouve dans le dossier xcuserdata
  • Terminé! :)

Espérons que cela ajoute un peu plus de contexte aux personnes qui ne savent pas où trouver les données de leurs utilisateurs.

9
NorthBlast

J'ai eu un problème similaire avec Xcode 8.1. La raison peut-être le project file contains merge conflict data.Vous pouvez supprimer ceci par opening Xcode project file in TextEdit.

Cependant, dans mon cas, il n'y avait pas de conflit de fusion. Simplement supprimer le contenu de DerivedData a fonctionné pour moi.

_ {Steps :

  1. Ouvrez la fenêtre du Finder, puis sélectionnez Go Tab -> Go to Folder… (or press Cmd + shift + G).

 Screenshot 1

  1. Entrez ~/Library et appuyez sur Go. Cela ouvre le dossier Bibliothèque qui est masqué par défaut.

 Screenshot 2

  1. Allez dans le dossier Developer -> Xcode -> DerivedData. Delete all the content of this folder. DerivedData est comme le cache, c’est-à-dire créer chaque fois que vous créez/exécutez votre application.

 Screenshot 3

  1. Ouvrez maintenant le projet. Cela devrait fonctionner sans problème.
4
Jayprakash Dubey

Copie Réponse de @Sean D qui a fonctionné pour moi.

Après avoir vu une suggestion ici, j'ai résolu ce problème en supprimant les préférences de Xcode. Le moyen le plus fiable de le faire est la commande de terminal suivante, émise après avoir quitté Xcode:

defaults delete com.Apple.dt.Xcode

ETA: D'autres suggestions ont impliqué la modification ou la suppression de certains paramètres de préférence individuels, mais après en avoir essayé quelques-uns, aucun n'a fonctionné pour moi. Il semble y avoir de multiples incompatibilités dans les préférences entre 6 et 7b3, il est donc préférable de supprimer complètement les préférences.

2
Desert Rose

Redémarrage de l'ordinateur

travaillé pour moi. Tandis que 

xcuserdata deletion

et

defaults delete com.Apple.dt.Xcode

n'a pas fonctionné pour moi.

Je n'ai même pas été capable d'ouvrir xcode seul ou l'un de mes projets ou un seul fichier .m.

1
zeeawan

J'ai eu XCode planter à chaque fois que j'ai ouvert Images.xcassets. La solution consistait à supprimer un fichier corrompu PDF que je venais d'ajouter. 

1
Morten J

La même chose m’est arrivée, et c’était une sorte de problème de version que je ne pouvais pas résoudre, alors je suis revenu à une version antérieure et cela a fonctionné. On a l'impression qu'il y a encore quelques bugs dans XCode 4 qui doivent encore être résolus.

1
Nathan Hangen

J'ai rencontré un blocage de XCode lorsque je tentais de modifier un fichier original.m spécifique. Aucune des solutions ci-dessus n'a fonctionné, mais cela a fonctionné:

  1. Créez un nouveau fichier .m comme new.m par exemple.
  2. À l'aide d'un éditeur de texte, ouvrez original.m en dehors de XCode, copiez le contenu et collez-le dans new.m à l'intérieur de XCode. Retournez à travailler en XCode.
  3. Supprimer et déplacer pour jeter l'original.m 
  4. Renommez new.m en original.m
  5. Maintenant, je peux éditer original.m sans que XCode ne plante.
0
TomV

j'ai testé pas mal de façons, mais après tout, je viens de changer le répertoire de l'emplacement de mon projet et tout est corrigé. Mon Xcode fonctionne correctement et je suis heureux maintenant ....

0
jamal zare

Si un fichier Swift est ouvert dans une nouvelle fenêtre (par exemple, lorsque vous double-cliquez sur un fichier .Swift dans xCode et que celui-ci s'ouvre dans une nouvelle fenêtre), l'ouverture de xCode peut poser problème. Je pense que j'avais cette fenêtre ouverte lors de la fermeture de xCode, puis lors de l'ouverture de xCode, cette fenêtre s'ouvre à nouveau et bloque xCode pour une raison quelconque. Essayez de fermer cette fenêtre ouverte rapidement avant qu'elle ne se bloque. Étrange, mais cela a fonctionné pour moi.

0
Vaidas

Dans mon cas, il y avait deux fenêtres, une sur l'écran interne de mon MacBook et une sur une fenêtre externe avec plusieurs onglets ouverts avant que Xcode ne se bloque et n'arrête pas de planter en essayant d'ouvrir le fichier xcworkspace. Les solutions mentionnées ci-dessus ne fonctionnaient pas. Après avoir déconnecté l'écran externe, Xcode a démarré sans se planter et les deux fenêtres ont été placées sur l'écran du MacBook. Rattaché l'affichage et tout a fonctionné comme avant.

0
hacker2007