Sourcekitservice Zakończone

Mam problem z Xcode, gdzie pojawia się błąd "Source Kit Service Termined" i wszystkie podświetlanie składni i uzupełnianie kodu zniknęło w Swift. Jak mogę to naprawić?

Oto przykładowy obrazek:

Tutaj wpisz opis obrazka

Author: Undo, 2014-06-03

30 answers

Odpowiedzią na moje (Xcode6-Beta7) było po prostu usunięcie pochodnego folderu danych.

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

Mam nadzieję, że to komuś pomoże. Jest oczywiście wiele powodów, dla których ta awaria może wystąpić.
 112
Author: tobygriffin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-10 11:49:48

Myślę, że znalazłem bardziej ogólne rozwiązanie. Poniżej znajdują się kroki, które użyłem, aby zachęcić Xcode, aby nie produkować błąd SourceKitService Terminated.


Objawy, które miałem:

  • kiedy uruchamiałem nowy plac zabaw, otrzymywałem błąd, że nie mogłem się z nim komunikować (Error running playground: Failed prepare for communication with playground. Zobacz to zdjęcie na Twitterze .
  • kiedy zmieniałem plac zabaw z OS X na iOS, otrzymywałem kolejny błąd (Niestety zrobiłem nie zapisuj tego).
  • kiedy zaczynałem wpisywać projekt Swift oparty na systemie iOS, próbując użyć kodu uzupełniającego / intellisense na dowolnej klasie specyficznej dla UIKit, otrzymywałem problem SourceKitService Terminated w tym wątku.

Proces debugowania:

  • zacząłem od szukania przez google SourceKitService, to było bardzo mało.
  • zacząłem monitorować konsolę.aplikacja podczas korzystania z Xcode. To pokazało kilka błędy:
    • IDEPlaygroundDocument: Error encountered running playground
    • com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.

Co zrobiłem, aby rozwiązać ten problem.

Jeśli masz problem tylko w kontekście projektu Swift, spróbuj najpierw sam. Jeśli to nie zadziała, spróbuj wykonać wszystkie poniższe kroki.

  1. Otwórz swój projekt i zmień cel wdrożenia na coś
[[9]}bardziej długi i zaangażowany proces. (Pierwsze 3 kroki nie są na pewno pomocne, ale ja czy je, a więc nagrać je tutaj)
  1. całkowicie usuń wszystkie kopie Xcode w systemie.
  2. Uruchom ponownie komputer.
  3. Zainstaluj ponownie tylko Xcode6-beta.
  4. sprawdź, czy nadal masz problem z placem zabaw i / lub projektami.
  5. Otwórz symulator iOS.
  6. Hardware - > Device - > Manage Devices
  7. Usuń wszystkie urządzenia.
  8. odtworzyć wszystkie urządzenia, które chcesz. Dodałem wersję iOS na końcu nazwy, tylko ponieważ.
  9. Uruchom ponownie Xcode i symulator.
  10. sprawdź, czy przynajmniej place zabaw nie rzucają już problemów po zmianie z OS X na iOS.
  11. Otwórz swój projekt i zmień cel wdrożenia na coś

Analiza

Wygląda na to, że problem polega na tym, że Xcode6 nie jest w stanie prawidłowo znaleźć i połączyć się z symulatorem. Nie byłem w stanie ustalić, dlaczego tak jest, ale pozwoliło mi to kontynuować rozwój z Swift. Może to mieć związek z faktem, że pliki binarne symulatora wydają się poruszać.

 35
Author: Andrew Monshizadeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-09 01:28:10

Wystarczy usunąć "ModuleCache", jest to rodzaj pamięci podręcznej używanej przez Xcode do automatycznego uzupełniania.

Skopiuj i wklej następujący wiersz w Terminalu:

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

 32
Author: David Attias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-19 15:52:36

SourceKitService zawiesza się w moim systemie, gdy tylko wpiszę

extension foo {

Używam Xcode 6 beta 6 i nie ma znaczenia, czy wpiszę go do pustego pliku, czy dodam do istniejącego. Gdy tylko źródło zawiera jeden extension blok, zostanie on zawieszony. dzieje się tak nawet w nowo utworzonych projektach.

Moim "rozwiązaniem" jest uniknięcie rozszerzenia w źródłach, nad którymi obecnie pracuję. Komentuję koniec bloku klasowego i początek bloku rozszerzeń. Jak tylko mam skończyłem pracę nad klasą, komentuję je jeszcze raz:

class MyClass {

    [... my stuff ...]

//}
//
//extension MyClass {

}
 27
Author: Klaas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-15 01:30:34

Zaczęło się to dziać na moim projekcie spritekit po wstawieniu funkcji touchesMoved. Ta funkcja używa wymuszonego rozpakowywania, co wydaje się powodować problem:

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

Po usunięciu wykrzykników i tym samym zaprzestaniu przymusowego rozpakowywania, SourceKitService przestał się upaść.

Mam nadzieję, że to pomoże!
 9
Author: MFCB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-07 13:52:35

Znalazłem rozwiązanie na forach programistów Apple (które wymagają logowania, więc wyjaśnię to również tutaj).

TLDR : nie Importuj @protocol w Objective-C do nagłówka mostkowania Swift, który ma taką samą nazwę jak @interface. Na przykład, Facebook SDK ma zarówno protokół, jak i interfejs o nazwie "FBGraphObject".

Oto post na forum:

Dodanie Facebook SDK powoduje awarię SourceKitService. Jeśli chcesz korzystać z beta 3 i potrzebujesz Facebook Facebook SDK, jedna praca wokół, że znalazłem i pracuje dla mnie jest refactoring Facebook SDK @protocol FBGraphObject i zmiana nazwy go na coś w rodzaju @protocol fbgraphobjectprotocol jako @ interface fbgraphobject również istnieje i najwyraźniej SourceKit nie podoba.

To na pewno tymczasowe rozwiązanie tylko po to, aby utrzymać funkcjonalność i będziesz musiał użyć Cocoapods lub w inny sposób zbudować Facebook SDK samodzielnie, a nie za pomocą biblioteki framework.

Na razie, musisz upewnić się, że nie masz sprzecznych deklaracji @protocol i @interface oraz że zawiera ona biblioteki innych firm, których możesz używać.

To kosztowało mnie dzisiaj, mam nadzieję, że to pomoże!


Posted by e.parto on Lipiec 10, 2014

 9
Author: aleclarson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-11 01:05:51

Użyj innej nazwy niż Swift dla projektu. "Swift" jest zarezerwowane.

 8
Author: Marius Fanu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-03 08:30:24

Miałem ten problem co kilka sekund w Xcode 6 Beta 3, i kontynuował nawet w zupełnie nowych projektach. Zmieniłem cel wdrożenia z 8.0 na 7.1 i się zatrzymał.

 8
Author: Caroline,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-20 08:46:31

Czy twój projekt nazywa się Swift? Widząc tę wiadomość, build również by się nie powiódł (<unknown>:0: error: module name "Swift" is reserved for the standard library). Spróbuj użyć innej nazwy projektu, np. SwiftTest. To by zadziałało.

 5
Author: devxoul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-03 08:01:55

Aby to naprawić, możesz mieć jakiś dziwny problem z kodem Swift. Na przykład posiadanie wielu definicji IBOutlets, ponieważ byłeś w trakcie kopiowania i wklejania. zwykle jest to tylko błąd składni, który nie może być obsługiwany.

 3
Author: Tony,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-03 02:29:34

Odkryłem, że jawnie (statycznie) wpisując typy zmiennych, zamiast wnioskować je, rozwiązałem problem.

 3
Author: Olshansk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-05 03:06:15

Zamknij Xcode, jeśli jest otwarte. Następnie z terminala uruchom:

defaults delete com.apple.dt.Xcode

Spowoduje przywrócenie Xcode do ustawień domyślnych. Otwórz Xcode i wszystko powinno działać ponownie.

 3
Author: Ross Gibson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-15 15:33:42

Dla mnie (xcode 6.1) powodem było to, że zapomniałem zaadoptować moją podklasę do protokołu.

Na przykład jest to błędne:

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

A to jest ok:

protocol SomeProtocol { ... }
class A : NSObject, SomeProtocol {
...
}
class B : A, SomeProtocol {
...
}
 2
Author: Ivo Leko,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-24 12:23:28

Program składający się tylko z tych dwóch linii (prawdopodobnie źle pod względem składni Swift) wystarczy, aby spowodować błąd "Sourcekitservice Terminated" tutaj:

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

Użycie let zamiast var powoduje, że edytor zachowuje się normalnie. Xcode Wersja 6.0 (6A215l)

 1
Author: Alexander,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-13 22:46:00

Dostałem dzisiaj ten sam problem, rzecz była z println, po prostu próbowałem starego stylu NSLog wydrukować wartość:

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

Sposób, w jaki powinniśmy komponować ciągi znaków w języku swift ewoluował od stylu printf do stylu inline, więc teraz osadzasz swoje wartości bezpośrednio w łańcuchu formatu w następujący sposób:

"Here goes \(YOUR_VARIABLE)"

Więc dla powyższego przykładu rozwiązanie jest następujące:

println("value =\(valueObj)")
 1
Author: MANIAK_dobrii,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-20 12:45:49

Miałem ten sam problem z xcode6 beta 3 dla projektu stworzonego w wersji beta 2.

Było to spowodowane nowymi zmianami w języku swift, tj. składnią deklaracji array.

Sprawdź kod z powodu przerwania zmian w wersji beta 3.

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

Jednym z przykładów w moim przypadku było:

Musiałem zmienić:

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

To

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

Wniosek: wygląda na to, że jeśli jest błąd w kodzie źródłowym, w niektórych warunkach ten błąd jest produkowany przez Xcode.

Rozwiązanie dopóki błąd nie zostanie naprawiony: sprawdź błąd ręcznie :)

Goodluck!
 1
Author: Tejasvi Hegde,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-11 09:08:04

Rozwiązaniem dla mnie była zmiana symulatora. Używałem iPhone 5S do mojego symulatora i kiedy przełączyłem go na iPhone 5, wszystko działało idealnie. Mam nadzieję, że przyszła wersja naprawi to całkowicie.

 1
Author: Fomentia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-19 00:56:42

Odkryłem, że usunięcie danych pochodnych z terminala rozwiązuje problem do następnej awarii. : S

Jest on dostępny pod adresem: / Users / {User name} / Library / Developer / Xcode/DerivedData/{Project Name} - {Random char sequence}

Mam nadzieję, że to pomoże.

 1
Author: sang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-19 06:58:47

Myślę, że rozgryzłem jeden (ponieważ prawdopodobnie jest wiele) powodów, dla których tak się dzieje.

W moim przypadku importowałem pliki Objective-C przez nagłówek mostkowy, który miał jedną z następujących wartości true:

  1. Plik implementacji (.m) dla przywozu Objective-C, nie miał cel aplikacji prawidłowo ustawiony.
  2. Plik Objective-C miał tylko nagłówek (.h) plik, a nie realizacja (.m) akta. (ponownie myślę, że jest to część " nie właściwy cel aplikacji" ustaw, jak można ustawić cele tylko w.pliki m i nie .pliki h)

Naprawienie celów aplikacji w plikach Objective-C lub usunięcie importu tych plików w nagłówku pomostowym razem wydaje się rozwiązać problem.

FYI-jeśli chcesz ustawić cel nagłówka (.h) pliki, które nie mają implementacji (.m) plik, możesz wykonać następujące proste kroki: nie można zmienić widoczności członkostwa docelowego w Xcode 4.5

 1
Author: JimmyJammed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:34

Aby dodać jeszcze jedno potencjalne rozwiązanie, przypadkowo nazwałem klasę var taką samą nazwą, jak jej typ:

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

To na pewno spowoduje awarię SourceKit. Głupi błąd składni, ale na wypadek, gdyby ktoś inny popełnił ten sam błąd.

Edit: również według @ Portland Runner:

Podobnie, jeśli ustawisz Typ powrotu na nazwę func, pojawi się błąd.

func foo() ->foo{}
 1
Author: ohhh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-02 14:03:55

Kiedy ten błąd zaczyna się pojawiać, po prostu skomentuj ostatni / ostatni fragment kodu, który napisałeś i poczekaj chwilę. Podświetlenie składni powinno pojawić się ponownie. W ten sposób obejdę problem.

    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)
    }
 0
Author: Hong Wei,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-07 05:00:30

Zgłoszone do Apple (#17266321):

Szczegóły:

Podsumowanie: Jeśli spróbujemy wydrukować słownik z wartością jako tablicę, wyskakujące okienko ciągle wyskakuje z napisem - " sourcekit zakończony. Funkcjonalność edytora ograniczona czasowo". Xcode zawiesza się i traci rozpoznawanie kontekstu powodując tekst do czernienia.

Kroki do odtworzenia: 1. Tworzenie tablicy jako - " var iOSHistoryArray = ["iOS6","iOS7", "iOS8",] "

  1. Utwórz słownik jako -"var MacOSYosemiteFeatures: Dictionary = ["Urządzenie": iOSHistoryArray]".

  2. Wypisuje słownik jako - " println ("słownik zawierający wartość tablicy: % @ \n", MacOSYosemiteFeatures)" (>)

  3. Krok 3 powoduje komentowanie problemu, który sprawia, że Xcode ponownie działa.

Oczekiwane Wyniki: Xcode powinien działać normalnie.

Rzeczywiste Wyniki: Xcode staje się niefunkcjonalny, traci rozpoznawanie kontekstu (Cała czcionka zostaje utracona, a cały tekst staje się zwykły czarny), cały Xcode staje się nieaktywny.

Wersja: Wersja 6.0 (6A215l)

 0
Author: aksani56,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-11 09:51:08

Spróbuj:

Jest błąd w kompilatorze / indeksatorze Swift. Jakaś linia lub linie w Twój kod sprawia trudności. Będziesz musiał edytować swój kod z innym edytorem tekstowym, aby skomentować linię(linie) zanim będzie można otworzyć ten projekt z Xcode. Jeśli masz nie mam pojęcia w czym problem, skomentuj cały kod. Gdy już projekt otwarty, możesz zacząć przywracać kod krok po kroku dopóki wzrost aktywności CPU nie powie Ci że znalazłeś problem.

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-27 08:06:37

Problem:

  • Jeśli w kodzie źródłowym wystąpi błąd, może pojawić się wyskakujące okienko" Sourcekitservice Terminated " i podświetlanie kodu przestanie działać. Może się zdarzyć, ale nie musi się zdarzyć, gdy robi to w wielu różnych warunkach.

Mój przypadek: Installed beta 3, OSX only project, w jednym pliku wykryto " operator półzamkniętego zasięgu został zmieniony z .. za ..

Rozwiązanie:

  • Napraw błąd wykryty przez Xcode
  • Zmień na inny .swift w Navigatorze, wróć do oryginału
  • podświetlanie składni pojawia się ponownie i wyskakuje okienko" Sourcekitservice Terminated "
 0
Author: Luis Palacios,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-12 16:32:16

W xcode przejdź do paska menu > > Okno > > urządzenia (shift+cmd+2) pojawi się nowe okno, a na dole po lewej stronie Dodaj nowy symulator, w szczególności ten działający na iOS 8.0 do istniejącej listy edit: może być konieczne ponowne uruchomienie xcode

Refrence:http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/

 0
Author: frank,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-12 02:51:06

W moim przypadku zaimportowałem brakujące pliki w nagłówku pomostowym. Po usunięciu źle importuje powiadomienie o błędzie zniknęło.

 0
Author: Shmidt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-21 11:10:33

Miałem ten sam błąd w zagnieżdżonym projekcie Objective-C++, który teraz zawiera Framework z kodem Swift. Aby rozwiązać ten problem musiałem jawnie zbudować framework. Raz zrobiłem ten problem zniknął i nie wraca ;)

 0
Author: Anton Matosov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-31 20:01:40

Nadal dzieje się z Xcode 6 w wersji 6.0 (6A313)

  • Utwórz nowy projekt
  • Dodaj Framework & bibliotekę
  • Wybierz cocoa touch framework
  • Dodaj plik Swift
  • Dodaj klasę do pliku swift

Awarie

Ps: zupełnie nowy mac mini, brak wcześniejszych instalacji xcode, nic egzotycznego. To chyba tylko produkt beta.

 0
Author: Alex Nolasco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-22 15:50:44

Xcode 6.1 Beta 3:

Gdy tylko zdefiniujesz Nie-prywatny Alias typu (np. typealias Foo = Int) w jednym pliku Swift wpisz literę c w innym pliku sourcekitservice ulega awarii.

Rozwiązaniem jest rezygnacja z używania aliasów typów, oczekiwanie na kolejną wersję beta lub zawinięcie aliasów typów w definicje klas:

public class DummyClass {
    public typealias Foo = String
}

I użyj go tak:

var myVar:DummyClass.Foo?
 0
Author: Klaas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-02 12:50:19

Zmiana celu wdrożenia na iOS 8.0 zadziałała. Wiem, że ktoś powiedział, że przeniesienie go do

 0
Author: Maxwell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-02 17:08:26