it-swarm.com.de

xcode Swift für immer indizieren

Ich entwickle zurzeit eine iOS-App mit Swift und XCode 6 (Beta 3).

Bisher lief alles gut, aber jetzt, da mein Projekt wächst, begann xcode plötzlich mit der Indexierung, und dies geschieht immer wieder, wodurch xcode fast unbrauchbar wird.

Ich habe im Web nach ähnlichen Problemen gesucht und die Lösungen ausprobiert, aber keine von ihnen hat geholfen. Auch das Deaktivieren des Indexierungsvorgangs (Standardwerte write com.Apple.dt.XCode IDEIndexDisable 1) hält XCode nicht davon ab.

Während des Indizierens steigt meine CPU-Auslastung auf 300% +, wodurch die Lüfter mit höchster Geschwindigkeit laufen. In Activity Monitor gibt es mehrere Aufgaben mit dem Namen "Swift", die jeweils etwa 1 GB Speicherplatz beanspruchen.

Alle Hinweise oder Lösungen sind sehr willkommen.

35
zisoft

Gelöst: Ich habe die zuletzt hinzugefügten Dateien aus dem Projekt gelöscht und das Problem ist verschwunden. Dann fing ich an, die Dateien nach und nach wieder hinzuzufügen, bis das Problem wieder auftrat. Also fand ich die Datei, die das Problem verursacht. Dann löschte ich den zuletzt hinzugefügten Code aus dieser Datei und wieder verschwand das Problem.

Auf diese Weise fand ich einen Code, der für dieses Verhalten verantwortlich war.

11
zisoft

Wenn Sie die Prozesse mit dem Namen 'Swift' beenden und den Fehler in xcode überprüfen, erhalten Sie den Teil des Codes, der Ihnen Probleme bereitet. Es gibt einige Fehler in Swift, die umgangen werden müssen.

19
hannesr

Ist mir mit Xcode 7.3 passiert

Musste alles reinigen, was Xcode zwischengespeichert hatte, um es zu lösen.

Lösung:

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

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

Ich hatte das gleiche Problem und es dauerte ewig, bis ich es gelöst habe. Ich bin mir ziemlich sicher, dass ich jede Frage zu diesem Thema im Internet gesehen habe und alle Lösungen ausprobiert habe. Es stellte sich heraus, dass alles, was ich tun musste, war ....

Starten Sie meinen Computer neu

9
Alex

Ich hatte das gleiche Problem in meinem Code. Die Lösung für mich war, alle Leerzeichen im Array in meinem Code zu löschen.

Ex. 

  struct Objects {

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

// Rauschen, 100% CPU und Index für immer. Die Lösung ist...

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

// Gelöst Das Array oder den String ohne Leerzeichen erstellen.

8
Maximo Lucosi

Ich hatte dieses Problem, als ich vor ein paar Wochen im Swift Crunch in Krakau war. Wir hatten den Code auf github, erlebten das Indexierungsproblem auf einem Macbook. Wir versuchten, das Repo auf 2 anderen Macbooks zu ziehen, das gleiche Ergebnis. 

Es ist eindeutig ein Fehler, ich weiß nicht, was es verursacht, wir haben alles versucht, was wir uns vorstellen könnten (sauberer, sauberer Build-Ordner, manuelles Entfernen von Dateien, die nicht im Repo sind, Neustarten, Abschalten von Prozessen usw.) und nach ein paar hours Das einzige, was noch zu tun ist, war das Erstellen eines neuen Xcode-Projekts von Grund auf und das manuelle Importieren der Dateien aus dem anderen Projekt .

Seitdem ist es nie wieder passiert, weder bei diesem noch bei anderen Projekten.

4
Antonio

Es ist ein XCode-Fehler. Problem mit Verkettung in einer Zeile:

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

Diese Korrektur behebt diesen Fehler:

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

Ich habe ein Wörterbuch wie dieses erstellt

 var dic1 = [

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

        ]

und self.price ist vom Typ Int und ich gab seinen Rückfallwert als leeren String an was die XCode-Compilation vermasselt hat. 

3
Rajat Talwar

Für mich habe ich einen dummen Fehler gemacht. Ich schreibe eine Klasse wie diese:

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

Eine Klasse erbt sich selbst und verursacht das Einfrieren. Es gibt keinen Hinweis von Xcode. Sie können dies einfach als möglichen Grund nehmen ~.

1
Victor Choy

Es ist definitiv ein Xcode-Fehler, den ich Apple gemeldet habe. Wenn Sie ein großes Wörterbuchliteral oder ein verschachteltes Wörterbuchliteral haben. Sie müssen Ihr Wörterbuch in kleinere Teile aufteilen und diese mit der Append-Methode hinzufügen, bis der Fehler behoben ist.

1
Pink Panther

Auch ich hatte das gleiche Problem für Xcode 9.1 ..__ Also habe ich in Activity Monitor nachgesehen. Es gab SwiftProzess, der über 100% lag. Doppelklicken Sie darauf und beenden Sie den Vorgang. Erledigt. Jetzt funktioniert es gut.

0
Joel Vivek Leo

Ich bekam dieses Problem und 6 Stunden später (nachdem ich alles versucht hatte, um Schritt für Schritt neue Ressourcen zu erstellen), fand ich mein Problem:

class A : A {
...
}

Durch das Kopieren/Einfügen hatte ich eine Klasse, die sich selbst erweitert, und das macht das Indexieren verrückt.

0
SendelDL

In meinem Fall wurde das Problem durch einige aritmetische Summen verursacht. Ich erstellte eine collectionView mit all den verschiedenen Frames, die programmgesteuert so erstellt wurden:

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

Ich habe es gerade geändert in:

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

Es hilft mir, die Ränder und Polsterungen leichter herauszufinden, aber das Ergebnis der Summe zu ändern, änderte die Baugeschwindigkeit von 5 - 7 Minuten auf etwa 20 Sekunden.

0
Yluna

in meinem Fall hatte ich den Emulator mit einer App geöffnet, die mit vorherigen Dateien erstellt wurde. Schließen Sie einfach den Emulator

0
David Rearte

Ich habe alle aufgelisteten Dinge ausprobiert, die Indizierung friert ständig ein. Dies hat mir geholfen: Wenn Ihre Indizierung eingefroren ist und Sie einen oder mehrere Swift Prozesse haben, die 99% Ihrer CPU-Leistung verbrauchen - beenden Sie einfach diese Swift Aufgabe (n), warten Sie einen Moment Bit, und der Fortschritt sollte sich bewegen. Es kann wiederholt werden, bis es fertig ist. In meinem Fall habe ich den Vorgang sieben Mal abgebrochen, aber am Ende wurde die Indizierung abgeschlossen!

0
David Kyslenko

Sichern Sie Ihr Projekt und löschen Sie die letzte Datei.

0
Shakeel Ahmed

Ich hatte das gleiche Problem mit einem Aufruf, bei dem einem Objekt 11 NSLayoutConstraint-Objekte hinzugefügt wurden.

Die Lösung bestand darin, den Code in mehrere Aufrufe aufzuteilen, von denen jeder nur drei Objekte zum Array hinzufügte. Seltsam.

Das war in Xcode 6.4 

0
Oliver Eichhorn

Zu viele String-Verkettungen in einer Zeile verursachen Probleme. Hat mir auch geholfen . Ursprünglich wurde von Zhenshan Yu darauf hingewiesen: Xcode 6 Beta wird nicht kompiliert

0

Ich hatte dieses Problem mit XCode 6.3 beim Erstellen eines C++ - Projekts. Bevor ich auf die Entwicklung in SubLime umstieg, war mein letzter Versuch, die XCode-App zu löschen und neu zu installieren. Es war ein langer Prozess, aber meine Version von XCode wurde jetzt auf 7.3 aktualisiert und alles funktioniert wie vorgesehen. 

Wenn also nichts anderes zu funktionieren scheint, können Sie versuchen, XCode aus Ihrem Anwendungsordner zu löschen und anschließend neu zu installieren. Stellen Sie nur sicher, dass Sie keine Projektdateien löschen, die Sie behalten möchten. 

0
TMC

Eine mögliche Sache, die zu einem solchen Verhalten führen kann: Zu Debug-Zwecken habe ich die Systemzeit geändert, die vor einer Woche eingerichtet wurde - und ich habe eine unendliche Indizierung. Sobald ich die Zeit zurücksetze, wird die Indizierung gestoppt.

0
user3567929

Bei mir ging es darum, eine neue Datei mit der Erweiterung String in das Projekt zu ziehen und nicht sie zu allen erforderlichen Zielen hinzuzufügen .

0
nikans

Bildbeschreibung hier eingeben

Ich habe dieses Problem erhalten, als mein Xcode 9.2 war. Zuerst löschte ich die xcworkspace-Datei, bereinigte und baute sie entsprechend der Antwort der anderen auf. Aber es funktionierte nicht ... Dann wurde Xcode auf 9.3 aktualisiert. Ich habe meinen Code überprüft und festgestellt, dass der kürzlich geschriebene Code die Xcode-Indizierung für immer gemacht hat:

TimeInterval(3600*24*(-randomDay))

Dann habe ich es geändert:

TimeInterval(-3600*24*randomDay)

Ich habe festgestellt, dass viele Situationen dazu führen können, dass Xcode nicht normal arbeitet. Ich denke, die richtige Lösung ist, dass Sie darüber nachdenken, was Sie in letzter Zeit für Ihr Projekt getan haben

0
MartinWo

Ich ging zu Tools-> Aufgabe und Kontexte-> klare Kontexte und das schien dem Computer endlich Ruhe zu geben! 

0
Gabriel Babriel