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?
Si votre problème n'est pas résolu, remplacez le fichier par votre fichier de sauvegarde.
Nuking Derived Data est la première chose à faire dans tous les cas de comportement Xcode
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.
rm -rf ~/Library/Developer/Xcode/DerivedData
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
{
...
}
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.
Hold alt> Produit> Dossier de construction propre
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.
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.
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
Cela entraînera un avertissement lorsque le compilateur mettra beaucoup de temps à déduire une expression complexe.
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.
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.
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.
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.
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.
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
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.
Cela m'est arrivé Si vous utilisez des cocoapodes, procédez comme suit:
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.
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ù :-)
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!
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
}
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.
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)
J'ai résolu ce problème en supprimant simplement l'application de mon appareil et en le reconstruisant.
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
Pour le problème d'indexation XCode 9.3 - Désinstallez le XCode et réinstallez-le à partir de zéro. Travaille pour moi.
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.
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
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é.
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)
Fermez votre Xcode, fermez n’importe quel client git (arbre source ou terminal) s’il est ouvert et redémarrez enfin votre projet.