151 votes

Xcode bloqué sur l'indexation

Un projet sur lequel je travaille depuis 2 mois a cessé de fonctionner sans raison parce que Xcode est resté bloqué sur "Indexing". Je ne peux plus construire le projet. Si j'essaie de le construire, Xcode se bloque et je dois forcer la sortie. Cela se produit uniquement avec ce projet.

J'ai essayé de nettoyer toutes les données dérivées mais ça n'a pas aidé.

J'utilise Xcode 4.5.2.

Des idées ?

4voto

Pink Panther Points 340

C'est un bogue de Xcode (Xcode 8.2.1) et je l'ai signalé à Apple. Cela se produit lorsque vous avez un grand dictionnaire littéral ou un dictionnaire littéral imbriqué. Vous devez diviser votre dictionnaire en parties plus petites et les ajouter avec la méthode append jusqu'à ce qu'Apple corrige le bug.

3voto

Suragch Points 197

Pour moi, fermer complètement Xcode et redémarrer le projet a fonctionné.

Ce n'est pas la solution à la question initiale, je ne crois pas, mais c'est une chose simple de plus à essayer avant de supprimer des fichiers et des dossiers, etc. Crédit à cette réponse pour l'idée.

3voto

jptsetung Points 3204

Rien n'a fonctionné pour moi, mon projet est trop gros (fusion d'objectifs). c , c++ , swift et java avec j2obj). J'ai désactivé l'indexation de Xcode et travaillé sans la complétion de code pendant des mois (et c'est pénible). Mais j'ai finalement trouvé une solution de contournement. L'idée est de garder l'indexation du code par Xcode, mais de limiter son utilisation du CPU avec un outil externe comme cputhrottle .

Donc d'abord vous devez installer cputhrottle dans le terminal

brew install cputhrottle

Ensuite, limitez le processus d'indexation de Xcode comme ceci (20 = 20%)

sudo cputhrottle $(pgrep -f com.apple.dt.SKAgent) 20

J'ai exposé ma "solution" ici avec les détails du mode : Comment empêcher Xcode d'utiliser 100 % du CPU lors de l'indexation de gros projets ?

2voto

Peter Gluck Points 2913

J'ai eu un problème similaire où Xcode passait beaucoup de temps à indexer et se bloquait fréquemment dans la construction du projet, ce qui m'obligeait à quitter de force et à relancer Xcode. C'était très ennuyeux.

Ensuite, j'ai remarqué un avertissement dans le projet à propos de l'attribution incorrecte de self en tant que délégué. Bien sûr, il y avait un protocole manquant dans la déclaration de la classe. Notez qu'il y a une affectation similaire dans l'exemple de code du PO (bien qu'il soit impossible de dire à partir de l'exemple si le protocole correct est déclaré) :

leaderboardController.leaderboardDelegate == self;

Après avoir résolu cet avertissement (en déclarant correctement le protocole mis en œuvre), Xcode a cessé de se comporter de manière incorrecte. De plus, je dois noter que le projet s'est exécuté correctement depuis que les méthodes du protocole étaient implémenté. C'est juste que Xcode ne pouvait pas confirmer que le protocole doit en fait être mis en œuvre par la classe.

2voto

user3762471 Points 1

Pour moi, j'ai fait une erreur stupide. J'écris une classe comme ça :

class A: A {
.......
}

Une classe héritée d'elle-même qui cause le gel. Il n'y a pas d'indication de message de la part de Xcode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X