web-dev-qa-db-fra.com

l'indexation Swift xcode pour toujours

Je développe actuellement une application iOS utilisant Swift et XCode 6 (Beta 3).

Tout s'est bien passé jusqu'à présent, mais maintenant que mon projet grandissait, xcode a soudainement commencé à indexer et le fait encore et encore, le rendant presque inutilisable.

J'ai cherché sur le Web des problèmes similaires et essayé les solutions, mais aucune d'entre elles n'a aidé . Même la désactivation du processus d'indexation (par défaut, écrivez com.Apple.dt.XCode IDEIndexDisable 1) n'arrête pas XCode de le faire.

Lors de l'indexation, l'utilisation de mon processeur atteint les 300% et plus, ce qui entraîne le fonctionnement des ventilateurs à la vitesse la plus élevée ..___ Dans Activity Monitor, plusieurs tâches nommées "Swift" occupent chacune environ 1 Go de mémoire.

Toutes les astuces ou solutions sont les bienvenues.

35
zisoft

Résolu: j'ai supprimé les derniers fichiers ajoutés au projet et le problème a disparu. Ensuite, j'ai commencé à rajouter les fichiers un à un jusqu'à ce que le problème réapparaisse. J'ai donc trouvé le fichier à l'origine du problème. Ensuite, j'ai supprimé le code ajouté le plus récemment de ce fichier et, encore une fois, le problème a disparu.

De cette façon, j'ai trouvé un morceau de code responsable de ce comportement.

11
zisoft

Tuer les processus nommés 'Swift' puis vérifier l'erreur dans xcode vous donnera la partie du code qui vous pose problème. Il y a quelques bugs dans Swift qui doivent être contournés.

19
hannesr

M'est arrivé avec Xcode 7.3

Dû nettoyer tout ce que Xcode avait mis en cache pour le résoudre.

Solution:

rm -frd ~/Library/Developer/Xcode/DerivedData/*

rm -frd ~/Library/Caches/com.Apple.dt.Xcode/*
17
Fawkes

J'ai eu le même problème et il m'a fallu toujours pour le résoudre. Je suis presque sûr d'avoir vu toutes les questions sur Internet à ce sujet et j'ai essayé toutes les solutions. Il s'avère que tout ce que je devais faire était ...

Redémarrer mon ordinateur

9
Alex

J'ai eu le même problème dans mon code. La solution pour moi était de supprimer tous les espaces du tableau dans mon code.

Ex. 

  struct Objects {

  let objectA = ["text1", 
                 "text2", 
                 "text3", 
                 "text4"] }

// Bruit, CPU 100% et index pour toujours. La solution est ...

struct Objects {
    let objectA = ["text1","text2","text3","text4"]}

// Résolu rendant le tableau ou la chaîne sans espace.

8
Maximo Lucosi

J'ai eu ce problème quand j'étais au Swift Crunch à Cracovie il y a quelques semaines. Nous avons eu le code sur github, rencontré ce problème d'indexation sur un macbook, nous avons essayé de tirer le repo sur 2 autres macbooks, même résultat. 

C'est clairement un bogue, je ne sais pas ce qui le cause, nous avons essayé ce que nous pouvions imaginer (dossier de compilation propre et propre, suppression manuelle des fichiers absents du référentiel, redémarrage, processus de destruction, etc.) heures il ne restait plus qu'à créer un nouveau projet xcode et à importer manuellement les fichiers de l'autre projet .

Cela ne s'est jamais reproduit depuis, ni sur cela ni sur d'autres projets.

4
Antonio

C'est un bug XCode. Problème lié à la concaténation sur une ligne:

var value = "some text" // it can be String or Array
value = value + value1 + value2 + value3 + value4 + value5 + value6 // etc

Cette correction corrige ce bug:

var value = "some text"
value += value1
value += value2
value += value3
value += value4
value += value5
value += value6
3
Igor

Je créais un dictionnaire comme celui-ci

 var dic1 = [

            "isDestination" : self.isDestination ?? false,
            "price" : self.price ?? ""

        ]

et self.price est du type Int et je donnais sa valeur de repli sous forme de chaîne vide qui a gâché la compilation XCode. 

3
Rajat Talwar

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. Vous pouvez simplement prendre cela comme une raison possible ~.

1
Victor Choy

C'est certainement un bug de Xcode et je l'ai signalé à Apple. Lorsque 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 qu'ils corrigent le bogue . Xcode 8.2.1 (8C1002)

1
Pink Panther

Moi aussi, je suis confronté au même problème avec Xcode 9.1 . Alors j’ai cherché dans Activity Monitor . Il y avait Swift processus qui était supérieur à 100%. Double Cliqué dessus et Quitter. Terminé. Maintenant, ça fonctionne bien.

0
Joel Vivek Leo

J'ai eu ce problème et 6 heures plus tard (après avoir essayé everithing et construit un nouveau projet étape par étape en copiant des ressources), j'ai résolu mon problème:

class A : A {
...
}

Par le fait de copier/coller, j'ai eu une classe qui s'étend, et cela rend fou l'indexation.

0
SendelDL

Dans mon cas, le problème était dû à des sommes aritmétiques . Je créais un collectionView avec tous les différents cadres en le faisant par programme comme ceci:

cell.textView.frame = CGRectMake(8 + 10 + 12, 0, 150 + 6 + 6 + 4, 50)

Je viens de le changer pour:

cell.textView.frame = CGRectMake(30, 0, 166, 50)

Cela m'aide à comprendre plus facilement les marges et les rembourrages, mais le simple fait de mettre le résultat de cette somme modifie la vitesse de création de 5 à 7 minutes à 20 secondes environ.

0
Yluna

Sauvegardez votre projet, supprimez la dernière et redémarrez le xcode simple :-)

0
Shakeel Ahmed

J'ai eu le même problème avec un appel en ajoutant 11 objets NSLayoutConstraint à un tableau.

La solution consistait à diviser le code en plusieurs appels, chacun ajoutant seulement 3 objets au tableau. Bizarre.

C'était dans Xcode 6.4 

0
Oliver Eichhorn

Trop de concaténations de chaînes sur une même ligne peuvent poser problème. M'a aidé aussi . À l'origine a été pointé par Zhenshan Yu il/elle: Xcode 6 Beta pas compiler

0
Mikhail Larionov

J'ai eu ce problème avec XCode 6.3 lors de la création d'un projet C++. Avant de passer au développement dans SubLime, mon dernier effort consistait à supprimer l’application XCode et à la réinstaller. Le processus a été long, mais ma version de XCode est maintenant mise à jour vers la version 7.3 et tout fonctionne comme il se doit. 

Donc, si rien ne semble fonctionner, vous pouvez essayer de supprimer XCode de votre dossier d’applications, puis de le réinstaller. Assurez-vous simplement de ne pas supprimer les fichiers de projet que vous souhaitez conserver. 

0
TMC

Le mien consistait à faire glisser un nouveau fichier avec l'extension String dans le projet et non pas à l'ajouter à toutes les cibles requises . J'espère que cela aidera quelqu'un.

0
nikans

entrez la description de l'image ici

J'ai eu ce problème quand mon Xcode était de 9.2. J'ai d'abord supprimé le fichier xcworkspace, nettoyé et construit en fonction de la réponse des autres.Mais cela n'a pas fonctionné . Ensuite, j'ai mis à jour Xcode vers la version 9.3. Il n'a pas non plus fonctionné. J'ai vérifié mon code et découvert que le code récemment rédigé rendait l'indexation Xcode pour toujours:

TimeInterval(3600*24*(-randomDay))

Puis je l'ai modifié:

TimeInterval(-3600*24*randomDay)

Cela a fonctionné ... Je constate que de nombreuses situations peuvent entraîner un fonctionnement anormal de Xcode. Je pense donc que la solution correcte consiste à penser à ce que vous avez fait récemment pour votre projet.

0
MartinWo

Je suis allé à outils-> tâches et contextes-> contextes clairs et cela a semblé donner du repos à l'ordinateur finalement! 

0
Gabriel Babriel