SourceKitService beendet

242

Ich habe ein Problem mit Xcode, bei dem der Fehler "Source Kit Service Terminated" auftritt und alle Syntaxhervorhebungen und Code-Vervollständigungen in Swift verschwunden sind. Wie kann ich das beheben?

Hier ist ein Beispielbild:

Geben Sie hier die Bildbeschreibung ein

Tony
quelle
1
Dies scheint ein Problem mit Xcode Beta zu sein. Durch einen Neustart von Xcode wurde das Problem für mich behoben, obwohl beim erneuten Öffnen des Projekts der Fehler auftrat und dann gestoppt wurde.
ThomasW
4
Ich hatte gerade dieses Problem ... dann entdeckte ich einen Syntaxfehler in meiner schnellen Datei. Nachdem ich das behoben hatte, fing der Editor wieder an zu arbeiten.
Brindy
80
Ich würde töten, damit dies jetzt behoben wird ...
Santa Claus
2
Der Fehler wird tatsächlich durch einen Syntaxfehler in Swift verursacht. Wenn Sie den Syntaxfehler entfernen, wird der Fehler behoben :)
Steffen Brem
2
Es wird nicht nur in 6.1 nicht behoben, sondern tritt auch bei den kleinsten "Fehlern" auf, bei denen es sich nicht einmal um Fehler handelt. Sie können es häufig auslösen, während Sie noch tippen . Ich habe es geschafft, als ich bis zum "stru" in "struct" gekommen bin. Ich denke, es wollte mir wirklich etwas sagen, bevor es das "ct" bekam!
Maury Markowitz

Antworten:

114

Die Antwort auf meine (Xcode6-Beta7) war einfach, den Ordner Abgeleitete Daten zu löschen.

Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.

Hoffe das hilft jemandem. Es gibt offensichtlich viele Gründe, warum dieser Absturz auftreten kann.

tobygriffin
quelle
Danke, das hat es behoben.
Noura
4
Dies scheint das Problem behoben zu haben, aber auch mit Xcode 6.1 GM.
Flovdis
7
Dies hat es für ungefähr 10 Minuten behoben, dann habe ich den Namen einer Variablen geändert und es ist zurück!
Hariseldon78
1
Keine dauerhafte Korrektur, sondern nur eine Verbesserung der Antwort. Erstellen Sie ein Shell-Skript und führen Sie es aus, wann immer es passiert. Rm -frd ~ / Library / Developer / Xcode / DerivedData / * rm -frd ~ / Library / Caches / com.apple.dt. Xcode / *
Raj
2
Habe mein Problem nicht
behoben
35

Ich glaube, ich habe eine allgemeinere Lösung gefunden. Im Folgenden sind die Schritte aufgeführt, mit denen ich Xcode dazu ermutigt habe, den SourceKitService TerminatedFehler nicht zu erzeugen .


Die Symptome, die ich hatte:

  • Wenn ich einen neuen Spielplatz eröffnen würde, würde ich eine Fehlermeldung erhalten, dass ich nicht mit dem Spielplatz kommunizieren kann ( Error running playground: Failed prepare for communication with playground.siehe dieses Bild auf Twitter) .
  • Wenn ich den Spielplatz von OS Xauf wechseln würde iOS, würde ich einen weiteren Fehler erhalten (diesen habe ich leider nicht aufgeschrieben).
  • Wenn ich anfange, ein iOS-basiertes Swift-Projekt einzugeben und versuche, Code-Vervollständigung / Intellisense für eine UIKit-spezifische Klasse zu verwenden, wird das SourceKitService TerminatedProblem in diesem Thread angezeigt .

Debugging-Prozess:

  • Ich habe zunächst in Google nach SourceKitService gesucht, dies wurde sehr wenig.
  • Ich habe dann angefangen, Console.app zu überwachen, während ich Xcode verwendet habe. Dies zeigte ein paar Fehler:
    • IDEPlaygroundDocument: Error encountered running playground
    • com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.

Was ich getan habe, um dieses Problem zu beheben.

Wenn Sie nur ein Problem im Kontext eines Swift-Projekts haben, versuchen Sie dies zuerst alleine. Wenn dies nicht funktioniert, führen Sie alle Schritte weiter unten aus.

  1. Öffnen Sie Ihr Projekt und ändern Sie das Bereitstellungsziel des Ziels in <= 7.1.

Der langwierigere und kompliziertere Prozess. (Die ersten 3 Schritte sind nicht sicher hilfreich, aber ich habe sie gemacht und sie hier aufgezeichnet.)

  1. Löschen Sie alle Kopien von Xcode auf Ihrem System vollständig.
  2. Starte deinen Computer neu.
  3. Installieren Sie nur Xcode6-beta neu.
  4. Stellen Sie sicher, dass das Problem weiterhin auf Spielplätzen und / oder Projekten auftritt.
  5. Öffnen Sie den iOS-Simulator.
  6. Hardware -> Gerät -> Geräte verwalten
  7. Entfernen Sie alle Geräte.
  8. Erstellen Sie alle gewünschten Geräte neu. Ich habe die iOS-Version an das Ende des Namens angehängt, nur weil.
  9. Starten Sie Xcode und den Simulator neu.
  10. Stellen Sie sicher, dass zumindest Spielplätze beim Wechsel von OS Xzu keine Probleme mehr verursachen iOS.
  11. Öffnen Sie Ihr Projekt und ändern Sie das Bereitstellungsziel des Ziels in <= 7.1.

Analyse

Es scheint, dass das Problem darin besteht, dass Xcode6 den Simulator nicht richtig finden und keine Verbindung zum Simulator herstellen kann. Ich konnte nicht feststellen, warum dies der Fall ist, aber dies hat mir ermöglicht, mich mit Swift weiterzuentwickeln. Dies hat möglicherweise damit zu tun, dass sich die Simulator-Binärdateien scheinbar verschoben haben .

Andrew Monshizadeh
quelle
2
Hatte ein ähnliches Problem: "Die Laufzeit für das ausgewählte Gerät ist nicht installiert." Fehler beim Ausführen des Spielplatzes für iPhonesimulator. Schritt 5. ~ 9. Das Problem wurde behoben.
Gerste
Als Hinweis - Xcode 6 Beta 3 hat das Problem für mich vollständig gelöst. Ich weiß nicht wie oder warum. Hoffentlich gilt das auch für andere.
Andrew Monshizadeh
2
Danke für diese Schritte. Ich habe mein Bereitstellungsziel von 7.0 auf 7.1 angepasst und das scheint das Problem vorerst gelöst zu haben.
Nick
Das Festlegen des Bereitstellungsziels auf 7.1 hat bei mir funktioniert, aber ich verwende das Framework-Ziel zusammen mit dem App-Ziel, sodass die Kompilierung dieser Ursache fehlgeschlagen ist, was wirklich schlecht ist. Aber ich habe keinen Codevorschlag mehr, auch wenn die Farbe wieder da ist!
Solomon
1
Befolgte alle diese Schritte, aber es hat bei mir nicht funktioniert. : - /
Rohit Goyal
32

Sie müssen nur den "ModuleCache" löschen. Dies ist eine Art Cache, der von Xcode für die automatische Vervollständigung verwendet wird.

Kopieren Sie die folgende Zeile und fügen Sie sie in das Terminal ein:

rm -rf ~ / Library / Developer / Xcode / DerivedData / ModuleCache

David Attias
quelle
1
Das hat es für mich getan. Für eine Weile konnte ich nur dann hervorheben und automatisch vervollständigen, wenn ich das iOS-Gerät im aktiven Schema ausgewählt hatte.
Wez
1
Das hat auch bei mir funktioniert. Gemäß den Versionshinweisen hier ist ein Teil davon in Xcode 6.1.1 GM-Saatgut behoben
Jacob Harding
Leider Jahre später und Xcode ist definitiv nicht behoben. Die Verwendung von Xcode 8.1 (8B62) und das Erhalten von SourceKitServer stürzt jedes Mal ab, wenn ich auf ein Symbol klicke. Abgeleitete Daten gelöscht, ModuleCache entfernt. Xcode neu gestartet. Xcode neu installiert. Installierter Xcode auf einem neuen Computer. Das gleiche passiert. Xcode ist ein erbärmliches Durcheinander.
Womble
27

SourceKitService stürzt auf meinem System ab, sobald ich tippe

extension foo {

Ich verwende Xcode 6 Beta 6 und es spielt keine Rolle, ob ich es in eine leere Datei eingebe oder zu einer vorhandenen hinzufüge. Sobald die Quelle einen extensionBlock enthält , stürzt sie ab. Dies geschieht auch bei neu erstellten Projekten.

Meine "Lösung" besteht darin, eine Erweiterung der Quellen zu vermeiden, an denen ich gerade arbeite. Ich kommentiere das Ende eines Klassenblocks und den Anfang des Erweiterungsblocks aus. Sobald ich meine Arbeit an der Klasse beendet habe, kommentiere ich sie erneut:

class MyClass {

    [... my stuff ...]

//}
//
//extension MyClass {

}
Klaas
quelle
Nur eine Anmerkung - Erweiterungen haben dies in Beta 5 nicht getan. Es ist eine neue Beta6 "Funktion".
Gene De Lisa
Jede andere Problemumgehung, da mein Projekt unzählige Erweiterungen enthält. Kann jetzt nicht mit diesem Xcode arbeiten.
Bagusflyer
Das das das so sehr das. Ich habe festgestellt, dass mich das in meinen letzten Projekten beißt. Jetzt einen Fehlerbericht einreichen.
Ben Kreeger
2
Auch ein großes Problem für mich. Ich habe mich daran gemacht, Erweiterungen einfach in ihre eigene Datei zu verschieben, den Code in die Klasse zu schreiben und sie in die Erweiterung einzufügen. Wie sich das durchschlich, ist ein wenig verwirrend.
Andrew Monshizadeh
9

Es begann in meinem Spritekit-Projekt nach dem Einfügen der touchMoved-Funktion. Diese Funktion verwendet erzwungenes Auspacken, was das Problem zu verursachen scheint:

override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!)

Nachdem die Ausrufezeichen entfernt und damit das erzwungene Entpacken gestoppt wurden, stürzte der SourceKitService nicht mehr ab.

Hoffe das hilft!

Markus Buhl
quelle
Hat für mich gearbeitet! Vielen Dank (hoffe, sie werden es beheben!)
Napolux
9

Ich habe in den Entwicklerforen von Apple eine Lösung gefunden (für die ein Login erforderlich ist, daher erkläre ich dies auch hier).

TLDR : Importieren Sie @protocolin Ihrem Objective-C keinen Swift-Bridging-Header, der den gleichen Namen wie ein hat @interface. Beispielsweise verfügt das Facebook SDK sowohl über ein Protokoll als auch über eine Schnittstelle mit dem Namen "FBGraphObject".

Hier ist der Forumsbeitrag:

Das Hinzufügen eines Facebook SDK führt zum Absturz von SourceKitService. Wenn Sie Beta 3 verwenden möchten und Facebook SDK benötigen, besteht eine Lösung, die ich gefunden habe und für mich arbeite, darin, das @protocol FBGraphObject von Facebook SDK umzugestalten und es in @protocol FBGraphObjectProtocol umzubenennen, da es anscheinend auch ein @interface FBGraphObject gibt mag es nicht.

Es ist sicher eine vorübergehende Lösung, nur um Sie funktionsfähig zu halten, und Sie müssen Cocoapods verwenden oder auf andere Weise das Facebook SDK selbst erstellen, anstatt die Framework-Bibliothek zu verwenden.

Vorerst müssen Sie sicherstellen, dass Sie keine widersprüchlichen @ protocol- und @ interface-Deklarationen haben, und dies schließt Bibliotheken von Drittanbietern ein, die Sie möglicherweise verwenden.

Das hat mich heute gekostet, hoffe es hilft!


Gepostet von e.parto am 10. Juli 2014

Aleclarson
quelle
Vielen Dank. Es hat mein Problem gelöst.
Viktor Radchenko
Dieser Fehler kann auftreten, wenn Sie Jon Sterlings Muster für leichte Unveränderlichkeit ( jonmsterling.com/posts/… ) verwenden, da Protokolle empfohlen werden , die einen Namen mit ihrer Implementierung teilen. Das Umbenennen der Protokolle löste das Problem für mich ohne negative Auswirkungen.
Erikprice
Dies wurde für mich mit Facebook SDK3.17.1
KVISH
Das hat es für mich behoben! Danke 👏🏻
Roman
8

Verwenden Sie für das Projekt einen anderen Namen als Swift. "Swift" ist reserviert.

Marius Fanu
quelle
10
Ich erhalte auch diese Warnung, aber der Name meines Projekts enthält überhaupt nicht das Wort Swift. Dies ist also nicht "die" Lösung, sondern möglicherweise "eine" Lösung. Und nein, ich habe nicht herausgefunden, was das Problem mit meinem ist.
Andrew Monshizadeh
1
@ AndrewMonshizadeh Gleiches Problem, keine Verweise auf Swift, aber ich kann kaum ein oder zwei Zeichen eingeben, bevor ich diesen Fehler erhalte.
BytesGuy
1
Weitere Untersuchungen haben mich zu dem Ergebnis geführt, dass ich den Fehler SourceKitService Terminated erhalte, wenn ich versuche, die Code-Vervollständigung für eine Unterklasse von zu verwenden UIView.
Andrew Monshizadeh
4
Dies ist nicht die Ursache des Problems. Ich habe keine Ahnung, warum dies positiv bewertet wird.
Weihnachtsmann
1
NRitH, ich hatte dieses Problem bei der Verwendung von Xcode 6 Beta 1 und das Ändern des Projekts war eine Lösung, die für mich funktioniert hat. Es gibt wahrscheinlich zahlreiche Fehler, die diesen Fehler auslösen. Sie verwenden wahrscheinlich eine neuere Version von Xcode und sie haben diesen Fehler wahrscheinlich behoben.
Marius Fanu
8

Ich hatte dieses Problem alle paar Sekunden in Xcode 6 Beta 3 und es wurde auch in völlig neuen Projekten fortgesetzt. Ich habe das Bereitstellungsziel von 8.0 auf 7.1 geändert und es wurde gestoppt.

Caroline
quelle
5

Ist Ihr Projekt benannt Swift? Wenn diese Meldung angezeigt wird, ist auch die Erstellung fehlgeschlagen ( <unknown>:0: error: module name "Swift" is reserved for the standard library). Versuchen Sie es mit einem anderen Projektnamen wie z SwiftTest. Es würde funktionieren.

devxoul
quelle
3

Um dies zu beheben, haben Sie möglicherweise ein seltsames Problem mit Ihrem Swift-Code. Zum Beispiel mit mehreren Definitionen von IBOutlets, weil Sie gerade kopiert und eingefügt haben. Normalerweise ist es nur ein Syntaxfehler, der nicht behandelt werden konnte.

Tony
quelle
2
Ich sehe dieses Problem mit unverändertem Code aus einer Xcode-Projektvorlage, daher glaube ich nicht, dass es ein Problem mit dem Swift-Code ist.
ThomasW
Dies kann durch mehrere IBOutlets mit demselben Namen verursacht werden.
Tony
3

Ich fand heraus, dass durch explizite (statische) Eingabe der Variablentypen das Problem für mich gelöst wurde, anstatt sie abzuleiten.

Olshansk
quelle
3

Beenden Sie Xcode, wenn es geöffnet ist. Dann vom Terminal laufen:

defaults delete com.apple.dt.Xcode

Dadurch wird Xcode auf die Standardeinstellungen zurückgesetzt. Öffnen Sie Xcode und alles sollte wieder funktionieren.

Ross Gibson
quelle
2

Für mich (xcode 6.1) war der Grund, dass ich vergessen habe, meine Unterklasse in das Protokoll aufzunehmen.

Zum Beispiel ist das falsch:

protocol SomeProtocol { ... }
class A :NSObject, SomeProtocol {
...
}
class B : A {
...
}

und das ist ok:

protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
Ivo Leko
quelle
Hatte das gleiche Problem mit vergessenem Protokoll. Danke für deinen Rat. Scheint Release-Version von Xcode funktioniert immer noch wie Beta =)
John Kakon
Vielen Dank! Ich bin verrückt danach geworden. Ihre Lösung hat mein Problem behoben. Ich hoffe, dass dies behoben wird, scheint seltsam, Protokolle zu jeder Unterklasse hinzufügen zu müssen.
Alvin
1

Ein Programm, das nur aus diesen beiden Zeilen besteht (möglicherweise falsch in Bezug auf die Swift-Syntax), reicht aus, um hier den Fehler "SourceKitService Terminated" zu verursachen:

var x = 42
println("Hello", x)

Wenn Sie letanstelle von verwenden, varverhält sich der Editor wieder normal. Xcode Version 6.0 (6A215l)

Alexander
quelle
Ich vermute im Allgemeinen, dass dieser Fehler auftritt, wenn Xcode einen bestimmten Syntaxfehler nicht verarbeiten kann - im eigentlichen Code oder beim Erstellen des Builds (im Beispiel einer schnellen Eingabe des Projektnamens).
Lyndsey Scott
Ich sage, der Fehler wird wahrscheinlich durch einen Syntaxfehler verursacht, und da Ihr Code einen eindeutigen Syntaxfehler aufweist, entspricht er meiner Theorie.
Lyndsey Scott
"SourceKitService Terminated" als Antwort auf einen Syntaxfehler macht keinen Sinn. Dies ist der Fehler, auf den ich hingewiesen habe. Dies ist der fragliche Fehler.
Alexander
Ja. Das ist die Bedeutung des Wortes "Bug". Dieser Fehler scheint durch Syntaxfehler ausgelöst zu werden. Hoffentlich wird Apple es bald beheben.
Lyndsey Scott
1

printlnHabe heute das gleiche Problem, die Sache war mit , ich habe gerade den alten NSLog-Stil ausprobiert, um einen Wert zu drucken:

// something like this
println("value = %@", valueObj)

Die Art und Weise, wie wir Zeichenfolgen schnell zusammenstellen sollten, hat sich vom printf-Stil zum Inline-Stil entwickelt. Jetzt können Sie Ihre Werte wie folgt direkt in die Formatzeichenfolge einbetten:

"Here goes \(YOUR_VARIABLE)"

Für das obige Beispiel lautet die Lösung also:

println("value =\(valueObj)")
MANIAK_dobrii
quelle
Hey, @downwoter, was ist los mit dieser Antwort? Scheint mir gut zu sein. Ich weiß, dass wir NSLog immer noch mit Swift verwenden können, aber println ist seit Swift der richtige Weg. Und diese Antwort bezieht sich direkt auf das Problem, die beschriebene Leitung stürzt den SourceKit-Dienst ab.
MANIAK_dobrii
Ich hatte ein ähnliches Problem mit einem println (), der versuchte, ein unbenanntes Tupel zu drucken
thisispete
1

Ich hatte das gleiche Problem mit Xcode6 Beta 3 für ein in Beta 2 erstelltes Projekt.

Dies lag an neuen Änderungen in der schnellen Sprache, dh der Syntax der Array-Deklaration.

Überprüfen Sie den betroffenen Code aufgrund von Änderungen in Beta 3.

http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes__.pdf

Eines der Beispiele in meinem Fall war:

Ich musste mich ändern:

var tabBarController : UITabBarController = self.window?.rootViewController as UITabBarController;

zu

var tabBarController : UITabBarController = self.window!.rootViewController as UITabBarController

Schlussfolgerung: Es sieht so aus, als ob ein Fehler im Quellcode vorliegt. Unter bestimmten Umständen wird dieser Fehler von Xcode erzeugt.

Lösung bis der Fehler behoben ist: Manuell auf Fehler prüfen :)

Viel Glück!

Tejasvi Hegde
quelle
1

Die Lösung für mich war zufällig den Simulator zu wechseln. Ich habe das iPhone 5S für meinen Simulator verwendet und als ich es auf das iPhone 5 umgestellt habe, hat alles perfekt funktioniert. Hoffentlich wird eine zukünftige Version das Problem insgesamt beheben.

Fomentia
quelle
Ich habe festgestellt, dass der iPhone 5 Simulator immer die beste Wahl ist, jeder andere stürzt ab
Daniel Galasko
@ DanielGalasko Interessant. Normalerweise benutze ich das iPhone 5S, es ist sehr stabil für mich.
Fomentia
Wenn Sie Xcode 6.1 verwenden, wurde dies nach meinem Verständnis
behoben
Ich ziehe meine Aussage zurück, sie ist immer noch kaputt und die 5 ist definitiv der einzige funktionierende Simulator
Daniel Galasko
1

Ich habe festgestellt, dass das Entfernen abgeleiteter Daten vom Terminal das Problem bis zum nächsten Absturz behebt. : S.

Es befindet sich unter: / Users / {Benutzername} / Library / Developer / Xcode / DerivedData / {Projektname} - {Zufällige Zeichenfolge}

Ich hoffe das hilft.

sang
quelle
1

Ich glaube, ich habe einen (wie es wahrscheinlich viele gibt) der Gründe herausgefunden, warum dies auftritt.

In meinem Fall habe ich Objective-C-Dateien über den Bridging-Header importiert, der eine der folgenden Bedingungen erfüllt hat:

  1. In der Implementierungsdatei (.m) für den Objective-C-Import wurde das App-Ziel nicht richtig festgelegt.
  2. Die Objective-C-Datei hatte nur eine Header-Datei (.h) und KEINE Implementierungsdatei (.m). (Auch hier denke ich, dass dies Teil des Satzes "Kein richtiges App-Ziel" ist, da Sie Ziele nur in den .m-Dateien und nicht in den .h-Dateien festlegen können.)

Das Beheben der App-Ziele in den Objective-C-Dateien ODER das Entfernen des Imports dieser Datei (en) im Bridging-Header insgesamt scheint das Problem zu beheben.

Zu Ihrer Information - Wenn Sie das Ziel von Header-Dateien (.h) festlegen müssen, für die keine Implementierungsdatei (.m) vorhanden ist, können Sie die folgenden einfachen Schritte ausführen: Die Sichtbarkeit der Zielmitgliedschaft in Xcode 4.5 kann nicht geändert werden

JimmyJammed
quelle
1

Um hier noch eine mögliche Lösung hinzuzufügen, hatte ich versehentlich eine Klasse var mit demselben Namen wie ihr Typ benannt:

class var Settings:Settings {
        get { return classVarWorkAround.settings }
    }

Dies wird SourceKit mit Sicherheit zum Absturz bringen. Dummer Syntaxfehler, aber falls jemand anderes den gleichen Fehler macht.

Edit: auch laut @Portland Runner:

Wenn Sie den Rückgabetyp auf den Funktionsnamen setzen, wird der Fehler angezeigt.

func foo() ->foo{}
Oh
quelle
1
Wenn Sie den Rückgabetyp auf den Funktionsnamen setzen, wird der Fehler angezeigt. func foo() ->foo{} (Fühlen Sie sich frei, es in Ihre Antwort aufzunehmen)
Portland Runner
0

Wenn dieser Fehler auftritt, kommentieren Sie einfach den letzten / zuletzt geschriebenen Code aus und warten Sie eine Weile. Die Syntaxhervorhebung sollte wieder angezeigt werden. So arbeite ich um das Problem herum.

    func someFunc() -> (Int?, Int?, Int?) {
     var retVal1:Int? = nil
     var retVal2:Int? = nil
     var retVal3:Int? = nil

     //some other code

     //commenting out the line below helped me
     //(retVal1, retVal2, retVal3)
     return (retVal1, retVal2, retVal3)
    }
Hong Wei
quelle
Das System startet sich unabhängig von Ihren Aktivitäten neu. Sie müssen die Zeile nicht auskommentieren, sie wird in Kürze weiterhin ausgeführt. Und natürlich auch abstürzen.
Maury Markowitz
0

An Apple gemeldet (# 17266321):

Einzelheiten:

Zusammenfassung: Wenn wir versuchen, ein Wörterbuch mit dem Wert als Array zu drucken, wird immer wieder ein Popup mit der Meldung "SourceKit beendet. Editorfunktionalität zeitlich begrenzt" angezeigt. Xcode Friert die Kontexterkennung ein und verliert sie, wodurch der Text geschwärzt wird.

Schritte zum Reproduzieren: 1. Erstellen Sie ein Array als - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"

  1. Erstellen Sie ein Wörterbuch als - "var MacOSYosemiteFeatures: Dictionary = [" Gerät ": iOSHistoryArray]".

  2. Drucken Sie das Wörterbuch als - "println (" Wörterbuch mit Array-Wert:% @ \ n ", MacOSYosemiteFeatures)" (<< - Culprit - >>)

  3. In Schritt 3 wird das Problem kommentiert, wodurch der Xcode wieder funktionsfähig wird.

Erwartete Ergebnisse: Xcode sollte normal funktionieren.

Tatsächliche Ergebnisse: Xcode funktioniert nicht mehr, verliert die Kontexterkennung (alle Schriftarten gehen verloren und der gesamte Text wird schwarz), der gesamte Xcode wird inaktiv.

Version: Version 6.0 (6A215l)

aksani56
quelle
0

Versuch es:

Es gibt einen Fehler im Swift-Compiler / Indexer. Einige Zeilen in Ihrem Code machen es schwierig. Sie müssen Ihren Code mit einem anderen Texteditor bearbeiten, um die fehlerhaften Zeilen auskommentieren zu können, bevor Sie das Projekt mit Xcode öffnen können. Wenn Sie keine Ahnung haben, wo das Problem liegt, kommentieren Sie Ihren gesamten Code aus. Sobald Sie das Projekt geöffnet haben, können Sie nach und nach Code zurückbringen, bis der Anstieg der CPU-Aktivität Ihnen anzeigt, dass Sie das Problem gefunden haben.


quelle
@Pang, wenn die Antworten richtig gültig und gleich sind, dann sind die Fragen wahrscheinlich doppelt, also sollten Sie abstimmen oder
markieren
0

Problem:

  • Wenn im Quellcode ein Fehler auftritt, wird möglicherweise das Popup "SourceKitService Terminated" angezeigt und die Code-Hervorhebung funktioniert nicht mehr. Es kann passieren oder auch nicht, wenn es unter mehreren verschiedenen Bedingungen durchgeführt wird.

Mein Fall: Installiertes Beta 3, nur OSX-Projekt, eine Datei hat festgestellt, dass der Fehler "Operator mit halb geschlossenem Bereich von .. auf .. <geändert wurde". Das Popup wird angezeigt und die Code-Hervorhebung schlägt fehl.

Lösung:

  • Fehler behoben, der von Xcode erkannt wurde
  • Wechseln Sie in Navigator zu einer anderen .swift-Datei, und kehren Sie zum Original zurück
  • Die Syntaxhervorhebung wird erneut angezeigt und das Popup "SourceKitService Terminated" ist verschwunden
Luis Palacios
quelle
0

In meinem Fall hatte ich fehlende Dateien in den überbrückten Header importiert. Nachdem ich falsche Importe gelöscht habe, ist die Fehlerbenachrichtigung verschwunden.

Shmidt
quelle
0

Ich hatte den gleichen Fehler mit dem verschachtelten Objective-C ++ - Projekt, das jetzt Framework mit Swift-Code enthält. Um dieses Problem zu beheben, musste ich das Framework explizit erstellen. Sobald ich das getan habe, ist das Problem weg und kommt nicht zurück;)

Anton Matosov
quelle
0

Immer noch mit xcode 6 Version 6.0 (6A313)

  • Erstellen Sie ein neues Projekt
  • Fügen Sie ein Framework und eine Bibliothek hinzu
  • Wählen Sie das Cocoa Touch Framework
  • Fügen Sie eine Swift-Datei hinzu
  • Fügen Sie der schnellen Datei eine Klasse hinzu

Stürzt ab

ps: brandneuer mac mini, kein vorheriger xcode installiert, nichts exotisches. Nur ein Beta-Produkt, nehme ich an.

Alex Nolasco
quelle
0

Xcode 6.1 Beta 3:

Sobald Sie einen nicht privaten Typalias (z. B. typealias Foo = Int) in einer Swift-Datei definieren und den Buchstaben cin eine andere Datei eingeben, stürzt der SourceKitService ab.

Die Lösung besteht entweder darin, auf die Verwendung von Typ-Aliasen zu verzichten, auf die nächste Beta-Version zu warten oder Ihre Typ-Aliase in Klassendefinitionen zu verpacken:

public class DummyClass {
    public typealias Foo = String
}

und benutze es so:

var myVar:DummyClass.Foo?
Klaas
quelle
0

Das Ändern des Bereitstellungsziels auf iOS 8.0 hat bei mir funktioniert. Ich weiß, dass jemand gesagt hat, dass das Verschieben auf <= 7.1 funktioniert hat, aber dieses Problem scheint aus mehreren Quellen zu stammen, sodass diese Alternative möglicherweise funktioniert.

Maxwell
quelle