web-dev-qa-db-fra.com

Xcode bloqué sur l'indexation

Un projet que je travaille depuis 2 mois a cessé de fonctionner sans raison parce que Xcode était bloqué sur "Indexation". Je ne peux plus construire le projet. Si j'essaie de construire, Xcode se fige et je dois forcer quitter. Cela se produit uniquement avec ce projet.

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

J'utilise Xcode 4.5.2.

Des idées?

99
tomDev
  1. Ouvrez votre dossier de projet.
  2. Recherchez le fichier NomProjet.xcodeproj.
  3. Cliquez avec le bouton droit sur Copier et coller dans un endroit sûr.
  4. Cliquez avec le bouton droit sur Afficher le contenu du paquet.
  5. Recherchez le fichier project.xcworkspace et supprimez-le.
  6. Rouvrez votre projet et nettoyez et reconstruisez.

Si votre problème n'est pas résolu, remplacez le fichier par votre fichier de sauvegarde.

143
Pratik Mistry
  1. Fermer ce projet depuis Xcode
  2. Ouvrez Xcode Organizer, trouvez le projet problématique
  3. Supprimer le dossier de données dérivées dans l'Organiseur
  4. Fermer/rouvrir Xcode

Nuking Derived Data est la première chose à faire dans tous les cas de comportement Xcode

61
Aleksandar Vacić

J'ai eu ce problème exact, il a été causé par un littéral de tableau de 20 éléments. J'ai dû passer à une syntaxe différente. Assez idiot.

20
Jehan
  1. Fermer tout Xcode ouvert
  2. rm -rf ~/Library/Developer/Xcode/DerivedData
  3. Faites un clic droit sur votre espace PROJECT_NAME.xcwork, choisissez "afficher le contenu" et supprimez le dossier "xcuserdata".
8
kjian

J'ai eu un problème similaire et j'ai constaté que j'avais accidentellement défini une classe comme étant sa propre sous-classe. Je n'ai eu aucun avertissement ou erreur pour cela, mais la compilation est restée bloquée.

class mainClass : mainClass
{
    ...
}
8
Philipp Otto

Lors de l'utilisation de Xcode 6, il est indiqué 

En attente de make

Il se peut qu'une instance de make soit déjà en cours d'exécution. Tuez le processus et l'indexation se poursuit. Stupide, mais a travaillé pour moi.

8
oarfish

Hold alt> Produit> Dossier de construction propre

3
rogger2016

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

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

3
Suragch

J'avais un problème similaire: Xcode passait beaucoup de temps à indexer et bloquait fréquemment la construction du projet; à ce moment-là, je devais forcer la fermeture et relancer Xcode. C'était très énervant. 

Ensuite, j'ai remarqué dans le projet un avertissement concernant l'affectation incorrecte de self en tant que délégué. Effectivement, il manquait un protocole dans la déclaration de classe. Notez qu'il existe une affectation similaire dans l'exemple de code de l'OP (bien qu'il soit impossible de déterminer à 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 fonctionner correctement. De plus, je dois noter que le projet s’est exécuté correctement puisque les méthodes de protocole ont été mises en œuvre. C'était simplement que Xcode ne pouvait pas confirmer que le protocole devait en réalité être implémenté par la classe. 

2
Peter Gluck

Une autre chose à essayer si vous essayez de résoudre les problèmes d’indexation et que vous êtes si loin dans la page!

Essayez d’ajouter cet indicateur à vos paramètres de construction.

Xfrontend -warn-long-expression-type-checking=400

build settings flag

Cela entraînera un avertissement lorsque le compilateur mettra beaucoup de temps à déduire une expression complexe.

warning

Cela peut provoquer une erreur de construction qui disparaîtra une fois que vous aurez trouvé les expressions lentes, puis supprimé le drapeau de construction.

2
greencardigan

Il s’agit d’un bogue Xcode (Xcode 8.2.1) et j’ai signalé à Apple que cela se produirait si vous avez un littéral de dictionnaire volumineux ou un dictionnaire imbriqué. Vous devez diviser votre dictionnaire en parties plus petites et les ajouter avec la méthode append jusqu'à ce que Apple corrige le bogue.

2
Pink Panther
  • Commencez par vous déconnecter du réseau. Votre réseau câblé et votre réseau sans fil doivent être désactivés.
  • Deuxièmement, supprimez le processus com.Apple.dt.SourceKitService. Alors XCode commencerait à indexer à nouveau au lieu de rester bloqué.

 enter image description here

2
ooOlly

Dans mon cas, la suppression du répertoire de données dérivé n'a pas aidé. Apparemment, j'avais un fichier verrouillé par un autre processus, car après avoir fermé quelques fenêtres de terminal et emacs, et mis fin à un processus de création de package réactif natif, tout a été résolu.

1
chetstone

Avait un problème similaire dans Xcode 6.4. La barre de progression indiquait que "l'indexation" était "suspendue". J'ai essayé de supprimer project.xcworkspace, puis de supprimer les données dérivées comme décrit ci-dessus. N'a pas semblé aider. Constatant que les publications ci-dessus suggèrent également de corriger les avertissements, et comme j'avais hérité de cet énorme projet de 180 avertissements, je me suis dit: "Bon Dieu, ça ressemble à un bon jour pour réparer les avertissements" Alors que je préparais les avertissements, une demi-heure plus tard, j'ai remarqué que la barre de progression "Indexation" était passée de 10% à environ 20%. Une heure plus tard, c’était à 50%, puis une heure à 80%, puis au bout d’une demi-heure, c’était fini! Conclusion: Ajoutez "prenez un long déjeuner ou une sieste" aux suggestions ci-dessus.

1
Jerry Krinock

J'ai rencontré le même problème avec Xcode 7.0 beta . Dans mon cas, les valeurs de "Profil d'approvisionnement" et "Identificateur de bundle de produits" de "Paramètres de construction" différaient entre PROJECT et TARGETS . . Et j'ai également utilisé les mêmes valeurs pour TARGETS de "appName" et "appNameTest" . Puis fermé le projet et l'a rouvert . Cela a résolu mon cas.

1
manispin

J'ai rencontré ce problème dans certains projets avec Xcode 9.3.1 et dans mon cas, le problème est dû à un code Swift qui, pour une raison quelconque, n'a pas plu à Xcode. Ce problème est difficile à résoudre car il est difficile de trouver le fichier à l'origine du problème.

Lorsque j'ai ce problème, je supprime certains fichiers du projet Xcode (en supprimant les références) et j'essaie de vérifier si l'indexation fonctionne. Mon processus pour le faire

  1. Supprimer des fichiers
  2. Fermer Xcode
  3. Ouvrir Xcode
  4. Si l’indexation est terminée, essayez de renommer une méthode si fonctionne. Les fichiers que vous avez supprimés ont probablement un aspect étrange pour Xcode. 

Dans mon cas, j'avais une définition de classe avec une extension réactive dans le même fichier et, pour une raison quelconque, Xcode ne l'aime pas.

1
El Belga

Cela m'est arrivé Si vous utilisez des cocoapodes, procédez comme suit:

  1. Supprimer project.xcworkspace
  2. Réinstallez les pods en utilisant 'pod install' sur le terminal
  3. Cela créera un nouveau projet.xcworkspace
  4. Ouvrez le nouveau projet.xcworkspace -> Nettoyer -> Construire
1
meow2x

Pour moi, j'ai commis une erreur stupide. J'écris un cours comme celui-ci:

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

Une classe hérite elle-même qui provoque le gel. Il n'y a pas d'indication de message de Xcode.

1
Victor Choy

Face à cela récemment sur XCode 7.3.1 - pour moi, j'ai remarqué que l'utilisation de RAM allait à 100% sur CleanMyMac3. Le problème s'est résolu comme par magie après le redémarrage de ma machine. En toute justice, j'avais déjà essayé la réponse acceptée, vous voudrez donc faire de même avant de redémarrer au cas où :-)

0
Angad

J'ai essayé toutes les choses énumérées, l'indexation est geler. Cela m’a aidé: si votre indexation est gelée et que vous avez un ou plusieurs processus Swift en train de manger 99% de votre processeur - il suffit de tuer cette Swift tâche (s), attendez un peu, et le progrès devrait progresser. Il peut se répéter, jusqu'à la fin, dans mon cas, j'ai tué le processus 7 fois, mais à la fin, l'indexation était terminée!

0
David Kyslenko

J'ai eu le même problème dans Swift 2.2 

Il s'agissait d'une fonction générique surchargée

func warnLog() {
    print("Warning line: \(#line) file: \(#file) ")
}

func warnLog<T>(input:T? = nil) -> T? {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}

func warnLog<T>(input:T) -> T {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}

tout ce que j'avais à faire, c'est de supprimer l'une des surcharges non utilisées

func warnLog<T>(input:T? = nil) -> T? {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}
0
Chéyo

Avait ce problème sur un projet SwiftUI. Une de mes vues SwiftUI s'est avérée avoir une variable déclarée de manière incorrecte. J'ai eu:

@EnvironmentObject var roomViewModel

où j'avais besoin:

@EnvironmentObject var roomViewModel: RoomViewModel

Il n'y avait pas d'erreur de compilateur, juste une indexation sans fin. Après avoir corrigé l'erreur, le projet a été construit rapidement.

0

Mon cas: ce n'était pas le fichier project.xcworkspace, ce n'était pas le dossier Derived Data.

J'ai perdu beaucoup de temps. Pire, pas de message d'erreur. Aucun indice de la part de Xcode. Absolument perdu.

Enfin, cette fonction (avec plus de 10 paramètres) est responsable.

func animationFrames(level: Float,
                     image: String,
                     frame0: String,
                     frame1: String,
                     frame2: String,
                     frame3: String,
                     frame4: String,
                     frame5: String,
                     frame6: String,
                     frame7: String,
                     frame8: String,
                     frame9: String,
                     frame10: String) {
}

Devenir fou! La vérité est que c'est inquiétant (car il n'y a pas d'erreur de syntaxe, ni aucun type)

0
Markus

J'ai résolu ce problème en supprimant simplement l'application de mon appareil et en le reconstruisant. 

0
Robert Sandru

Rien n'a fonctionné pour moi, mon projet est trop volumineux (fusion des fichiers objectifs c, c++, Swift et Java avec j2obj). J'ai désactivé l'indexation Xcode et travaillé sans terminer le code pendant des mois (et c'est pénible). Mais finalement j'ai trouvé une solution de contournement. L'idée est de continuer à indexer le code par Xcode, tout en limitant l'utilisation de son processeur avec un outil externe comme cputhrottle

Donc, vous devez d’abord installer cputhrottle dans un terminal

brasser installer cputhrottle

Ensuite, limitez le processus d’indexation 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% de l'UC lors de l'indexation de gros projets

0
jptsetung

Pour le problème d'indexation XCode 9.3 - Désinstallez le XCode et réinstallez-le à partir de zéro. Travaille pour moi.

0
Maximo Lucosi

Arrêtez également l'application en cours. Si vous avez une autre application en cours d'exécution avec votre xcode, arrêtez-la d'abord et votre indexation devrait continuer. 

0
nferocious76

Moi aussi je faisais face au problème. J'ai remarqué que j'ai ouvert le même projet deux fois.

Donc QuitXCode> Ouvrez votre projet et assurez-vous qu’une seule instance est ouverte> Nettoyer> Dossier Nettoyer une construction dans certains cas> construire.

Ça devrait marcher

0
Shahid

Ce problème m'est arrivé lorsque ma machine était à court d'espace d'échange. Fermez plusieurs programmes et les onglets du navigateur et la construction réussit soudainement après 30 minutes de blocage. Rien à voir avec les données dérivées, les fichiers verrouillés, etc. de mon côté.

0
Jacob Torres

Pour moi, la cause a été que j’ai ouvert le fichier same à la fois dans Primary Editor et Assistant Editor en même temps. Une fois que j'ai fermé le rédacteur en chef adjoint, cela a été accepté. (Xcode Version 7.2.1)

0
wye

Fermez votre Xcode, fermez n’importe quel client git (arbre source ou terminal) s’il est ouvert et redémarrez enfin votre projet.

0
Mohit Anand