SourceKitService zakończony


242

Mam problem z Xcode, w którym pojawia się błąd „Zakończył się serwis źródłowy”, a wszystkie podświetlanie składni i uzupełnianie kodu znikają w Swift. Jak mogę to naprawić?

Oto przykładowy obraz:

wprowadź opis zdjęcia tutaj


1
Wydaje się, że jest to problem z wersją beta Xcode. Ponowne uruchomienie Xcode rozwiązało problem, chociaż po ponownym otwarciu projektu błąd wystąpił, a następnie został zatrzymany.
ThomasW,

4
Właśnie zacząłem mieć ten problem ... potem zauważyłem błąd składniowy w moim szybkim pliku. Po naprawieniu tego edytor znów zaczął działać.
brindy

80
Zabiłbym, żeby to teraz naprawić ...
Święty Mikołaj,

2
Błąd jest rzeczywiście spowodowany błędem składni w Swift. Jeśli usuniesz błąd składniowy, błąd zniknie :)
Steffen Brem

2
Nie tylko nie jest to rozwiązane w wersji 6.1, ale dzieje się tak nawet z najdrobniejszymi „błędami”, które nawet nie są błędami. Często możesz go uruchomić podczas pisania . Tak się stało, kiedy dotarłem do „stru” w „struct”. Chyba naprawdę chciał mi coś powiedzieć, zanim dostanie „ct”!
Maury Markowitz,

Odpowiedzi:


114

Odpowiedzią dla mojej (Xcode6-Beta7) było po prostu usunięcie folderu danych pochodnych.

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ć.


Dziękuję, to naprawiło.
Noura

4
Wydaje się, że to rozwiązało problem, ale także przy użyciu Xcode 6.1 GM.
Flovdis,

7
to naprawiło to przez około 10 minut, potem zmieniłem nazwę zmiennej i wróciła!
hariseldon78

1
Nie jest to stała poprawka, ale tylko poprawa odpowiedzi .. utwórz skrypt powłoki i uruchom go, ilekroć to się stanie, rm -frd ~ / Library / Developer / Xcode / DerivedData / * rm -frd ~ / Library / Caches / com.apple.dt. Xcode / *
Raj

2
Nie naprawiłem mojego problemu
Shirish Kumar

35

Myślę, że mogłem znaleźć rozwiązanie bardziej ogólnego przeznaczenia. Poniżej znajdują się kroki, które zachęciłem Xcode, aby nie generował SourceKitService Terminatedbłędu.


Objawy, które miałem:

  • Kiedy zakładałem nowy plac zabaw, otrzymywałem błąd związany z niemożnością komunikowania się z placem zabaw ( Error running playground: Failed prepare for communication with playground.zobacz to zdjęcie na Twitterze .
  • Kiedy zmieniałem plac zabaw z OS Xna iOS, otrzymywałem kolejny błąd (niestety tego nie zapisałem).
  • Kiedy zaczynałem pisać w Swift projektu opartym na iOS, próbując użyć uzupełniania kodu / intellisense na dowolnej klasie specyficznej dla UIKit, otrzymałem SourceKitService Terminatedproblem w tym wątku.

Proces debugowania:

  • Zacząłem od przejrzenia google dla SourceKitService, to bardzo niewiele.
  • Następnie zacząłem monitorować Console.app podczas korzystania z Xcode. To pokazało kilka błędów:
    • 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ń docelowy cel wdrożenia na coś <= 7.1.

Bardziej długi i zaangażowany proces. (Pierwsze 3 kroki nie są na pewno pomocne, ale zrobiłem je, więc nagraj je tutaj)

  1. Całkowicie usuń wszystkie kopie Xcode w systemie.
  2. Zrestartuj swój komputer.
  3. Zainstaluj ponownie tylko Xcode6-beta.
  4. Sprawdź, czy nadal masz problem na placu zabaw i / lub w projektach.
  5. Otwórz symulator iOS.
  6. Sprzęt -> Urządzenie -> Zarządzaj urządzeniami
  7. Usuń wszystkie urządzenia.
  8. Odtwórz wszystkie potrzebne urządzenia. Na końcu nazwy dołączyłem wersję iOS.
  9. Uruchom ponownie Xcode i symulator.
  10. Zweryfikować, że przynajmniej na placach zabaw nie jest już rzut problemy po włączeniu od OS Xcelu iOS.
  11. Otwórz swój projekt i zmień docelowy cel wdrożenia na coś <= 7.1.

Analiza

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


2
Miał podobny problem: „Środowisko wykonawcze dla wybranego urządzenia nie zostało zainstalowane”. błąd podczas uruchamiania placu zabaw dla iPhonesimulator. Krok 5. ~ 9. naprawiono problem.
jęczmień

Uwaga: Xcode 6 Beta 3 całkowicie rozwiązał dla mnie problem. Nie jestem pewien, jak i dlaczego. Mam nadzieję, że to samo dotyczy innych.
Andrew Monshizadeh

2
Dzięki za te kroki. Zmieniłem cel wdrażania z wersji 7.0 na 7.1 i wydaje się, że to na razie rozwiązało problem.
Nick

Ustawienie docelowego wdrożenia na 7.1 działało dla mnie, ale używam docelowego frameworka wraz z docelowym dla aplikacji, więc kompilacja nie powiodła się, co jest naprawdę złe. Ale nie otrzymałem już żadnej sugestii kodu, nawet kolor powrócił!
Salomon

1
Wykonałem wszystkie te kroki, ale to nie działało dla mnie. : - /
Rohit Goyal

32

Wystarczy usunąć „ModuleCache”, jest to rodzaj pamięci podręcznej używanej przez Xcode do autouzupełniania.

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

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


1
Zrobiło to dla mnie. Przez jakiś czas mogłem uzyskać wyróżnianie i autouzupełnianie tylko wtedy, gdy miałem wybrane urządzenie IOS w aktywnym schemacie.
Wez

1
To też działało dla mnie. Zgodnie z informacjami o wersji tutaj niektóre z nich zostały naprawione w Xcode 6.1.1 GM seed
Jacob Harding

Niestety, lata później, Xcode zdecydowanie nie jest naprawiony. Używanie Xcode 8.1 (8B62) i wciąż otrzymywanie SourceKitServer ulega awarii za każdym razem, gdy klikam symbol. Wyczyściłem dane pochodne, usunąłem ModuleCache. Zrestartowałem Xcode. Ponownie zainstalowano Xcode. Zainstalowałem Xcode na nowym komputerze. To samo się dzieje. Xcode to żałosny bałagan.
Womble,

27

SourceKitService ulega awarii w moim systemie, gdy tylko piszę

extension foo {

Używam Xcode 6 beta 6 i nie ma znaczenia, czy wpisuję go w pustym pliku, czy dodam do istniejącego. Gdy tylko źródło zawiera jeden extensionblok, nastąpi awaria. Dzieje się tak nawet w przypadku nowo tworzonych projektów.

Moim „rozwiązaniem” jest unikanie rozszerzenia w źródłach, nad którymi obecnie pracuję. Komentuję koniec bloku klasy i początek bloku rozszerzenia. Zaraz po zakończeniu pracy nad klasą komentuję je ponownie:

class MyClass {

    [... my stuff ...]

//}
//
//extension MyClass {

}

Tylko uwaga - rozszerzenia tego nie zrobiły w wersji beta 5. To nowa „funkcja” wersji beta6.
Gene De Lisa,

Wszelkie inne obejścia, ponieważ w moim projekcie jest mnóstwo rozszerzeń. Nie mogę teraz pracować z tym Xcode.
Bagusflyer

To to tak bardzo to. Odkryłem, że właśnie to mnie gryzie w moich najnowszych projektach. Złożenie zgłoszenia błędu teraz.
Ben Kreeger

2
Również dla mnie ogromny problem. Zacząłem przenosić rozszerzenia do własnego pliku, pisać kod w klasie, kopiować i wklejać do rozszerzenia. To, jak się prześlizguje, jest nieco zaskakujące.
Andrew Monshizadeh

9

Zaczęło się dziać w 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 zatrzymaniu wymuszonego rozpakowywania SourceKitService przestał się zawieszać.

Mam nadzieję że to pomoże!


Pracował dla mnie!
Wielkie

9

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

TLDR : Nie importuj a @protocolw nagłówku Objective-C do Swift mostkowania o nazwie takiej samej jak @interface. Na przykład zestaw SDK Facebooka 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 wersji beta 3 i potrzebujesz Facebook SDK, jednym z rozwiązań, które znalazłem i które działa dla mnie, jest refaktoryzacja @protocol FBGraphObject Facebook SDK i zmiana nazwy na coś takiego jak @protocol FBGraphObjectProtocol jako @ interfejs Interfejs FBGraphObject również istnieje i prawdopodobnie SourceKit nie lubi tego

Jest to z pewnością tymczasowe rozwiązanie zapewniające funkcjonalność. Będziesz musiał korzystać z Cocoapods lub w inny sposób samodzielnie budować zestaw SDK Facebooka, zamiast korzystać z biblioteki frameworka.

Na razie musisz upewnić się, że nie masz sprzecznych deklaracji @protocol i @interface, a także bibliotek zewnętrznych, których możesz używać.

Kosztowało mnie to dzisiaj, mam nadzieję, że to pomaga!


Wysłany przez e.parto na 10 lipca 2014


Wielkie dzięki. To rozwiązało mój problem.
Viktor Radchenko

Ten błąd może się pojawić , jeśli używasz Wzorca Jona Sterlinga dla lekkości niezmienności ( jonmsterling.com/posts/… ), ponieważ zaleca protokoły, które mają wspólną nazwę z ich implementacją. Zmiana nazw protokołów rozwiązała dla mnie problem bez żadnych skutków ubocznych.
erikprice

Zostało to dla mnie rozwiązane za pomocą Facebook SDK3.17.1
KVISH

To naprawiło to dla mnie! Dzięki 👏🏻
Rzym.

8

W projekcie użyj innej nazwy niż Swift. „Swift” jest zarezerwowany.


10
Otrzymuję również to ostrzeżenie, ale nazwa mojego projektu w ogóle nie zawiera słowa Swift, więc nie jest to rozwiązanie „po prostu”, a może „rozwiązanie”. I nie, nie zorientowałem się, o co chodzi z moim.
Andrew Monshizadeh

1
@AndrewMonshizadeh Ten sam problem, brak odniesień do Swift, ale ledwo mogę wpisać znak lub dwa, zanim pojawi się ten błąd.
BytesGuy

1
Dalsze dochodzenie doprowadziło mnie do ustalenia, że ​​podczas próby użycia uzupełniania kodu w podklasie otrzymuję błąd Zakończono działanie SourceKitService UIView.
Andrew Monshizadeh

4
To nie jest przyczyną problemu. Nie mam pojęcia, dlaczego jest to doceniane.
Święty Mikołaj

1
NRitH, miałem ten problem podczas używania Xcode 6 beta 1 i zmiana projektu była dla mnie poprawką. Prawdopodobnie istnieje wiele błędów, które powodują ten błąd. Prawdopodobnie używasz nowszej wersji Xcode i prawdopodobnie naprawili ten błąd.
Marius Fanu

8

Miałem ten problem co kilka sekund w Xcode 6 Beta 3 i występował nawet w zupełnie nowych projektach. Zmieniłem cel wdrażania z 8.0 na 7.1 i został on zatrzymany.


5

Czy twój projekt ma nazwę Swift? Po wyświetleniu tego komunikatu kompilacja również się nie powiedzie ( <unknown>:0: error: module name "Swift" is reserved for the standard library). Spróbuj użyć innej nazwy projektu, np SwiftTest. To by działało.


3

Aby to naprawić, możesz mieć dziwny problem z kodem Swift. Na przykład posiadanie wielu definicji IBOutletów, ponieważ byłeś w trakcie kopiowania i wklejania. zwykle jest to tylko błąd składniowy, którego nie można było obsłużyć.


2
Widzę ten problem z niezmodyfikowanym kodem z szablonu projektu Xcode, więc nie sądzę, że jest to problem z kodem Swift.
ThomasW,

Może to być spowodowane przez wiele IBOutletów o tej samej nazwie.
Tony

3

Przekonałem się, że poprzez bezpośrednie (statyczne) wpisanie typów zmiennych, zamiast ich wnioskowania, rozwiązałem problem.


3

Zamknij Xcode, jeśli jest otwarty. Następnie z terminalu uruchom:

defaults delete com.apple.dt.Xcode

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


2

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

Na przykład jest to źle:

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

i to jest w porządku:

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

Miał ten sam problem z zapomnianym protokołem. Dziękuję za radę. Wydaje się, że wersja xcode nadal działa jak beta =)
John Kakon

Dzięki! Oszalałem z tego powodu. Twoje rozwiązanie rozwiązało mój problem. Mam nadzieję, że zostanie to naprawione, wydaje się dziwne, że trzeba dodawać protokoły do ​​każdej podklasy.
Alvin,

1

Program składający się tylko z tych dwóch wierszy (być może niepoprawny pod względem składni Swift) jest wystarczający, aby spowodować błąd „Zakończono SourceKitService”

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

Użycie letzamiast varpowoduje, że edytor zachowuje się normalnie. Wersja Xcode 6.0 (6A215l)


Podejrzewam, że ten błąd pojawia się, gdy Xcode nie jest w stanie obsłużyć określonego błędu składniowego - w rzeczywistym kodzie lub podczas kompilacji (w przykładzie szybkiego w nazwie projektu)
Lyndsey Scott

Mówię, że błąd jest prawdopodobnie spowodowany błędem składniowym, a ponieważ kod zawiera wyraźny błąd składniowy, jest to zgodne z moją teorią.
Lyndsey Scott

„SourceKitService Terminated” jako odpowiedź na błąd składniowy nie ma sensu. To błąd, który wskazałem. To jest omawiany błąd.
Alexander

Tak. Takie jest znaczenie słowa „błąd”. Ten błąd wydaje się być wywoływany przez błędy składniowe. Mam nadzieję, że Apple naprawi to wkrótce.
Lyndsey Scott,

1

Mam dzisiaj ten sam problem, chodziło o to println, właśnie wypróbowałem stary styl NSLog, aby wydrukować wartość:

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

Sposób, w jaki powinniśmy szybko komponować ciągi, ewoluował ze stylu printf do stylu wbudowanego, więc teraz osadzasz swoje wartości bezpośrednio w ciągu formatu:

"Here goes \(YOUR_VARIABLE)"

Tak więc w powyższym przykładzie rozwiązaniem jest:

println("value =\(valueObj)")

Hej, @ downwoter, co jest nie tak z tą odpowiedzią? Wydaje mi się dobry. Wiem, że nadal moglibyśmy używać NSLog z Swift, ale println jest sposobem, aby to zrobić od Swift. Ta odpowiedź dotyczy bezpośrednio problemu, opisywana linia powoduje awarię usługi SourceKit.
MANIAK_dobrii

Miałem podobny problem z println () próbował wydrukować nienazwaną krotkę
thisispete

1

Miałem ten sam problem z Xcode6 beta 3 dla projektu utworzonego w wersji beta 2.

Było tak z powodu nowych przełomowych zmian w szybkim języku, tj. Składni deklaracji tablicowej.

Sprawdź, czy kod został wykonany z powodu przełamujących 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;

do

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

Wniosek: wygląda na to, że występuje błąd w kodzie źródłowym, w niektórych warunkach błąd ten jest generowany przez Xcode.

Rozwiązanie do momentu naprawienia błędu: Sprawdź błąd ręcznie :)

Powodzenia!


1

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



@DanielGalasko Ciekawe. Zwykle używam iPhone'a 5S, jest dla mnie bardzo stabilny.
Fomentia,

jeśli używasz Xcode 6.1, adres ten został skierowany do mojego zrozumienia :)
Daniel Galasko

Wycofuję moje oświadczenie, jest nadal zepsute, a 5 jest zdecydowanie jedynym działającym symulatorem
Daniel Galasko,

1

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

Znajduje się w: / Users / {Nazwa użytkownika} / Library / Developer / Xcode / DerivedData / {Project Name} - {Losowa sekwencja znaków}

Mam nadzieję, że to pomoże.


1

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

W moim przypadku importowałem pliki Objective-C przez Bridging Header, który miał jedną z następujących prawd:

  1. Plik implementacji (.m) dla importu Objective-C nie ma poprawnie ustawionego celu aplikacji.
  2. Plik Objective-C miał tylko plik nagłówka (.h), a NIE plik implementacji (.m). (Ponownie myślę, że jest to część zestawu „brak właściwego celu aplikacji”, ponieważ można ustawić cele tylko w plikach .m, a nie w plikach .h)

Naprawianie problemu w aplikacjach w plikach Objective-C LUB usunięcie importu tych plików w nagłówku pomostowym razem wydaje się rozwiązać problem.

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


1

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 }
    }

Spowoduje to awarię SourceKit NA PEWNO. Głupi błąd składniowy, ale na wypadek, gdyby ktoś popełnił ten sam błąd.

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

Podobnie, jeśli ustawisz typ zwracany na nazwę func, otrzymasz błąd.

func foo() ->foo{}

1
Podobnie, jeśli ustawisz typ zwracany na nazwę func, otrzymasz błąd. func foo() ->foo{} (dodaj ją do swojej odpowiedzi)
Portland Runner,

0

Kiedy ten błąd zacznie się pojawiać, po prostu skomentuj ostatni / ostatnio napisany fragment kodu i poczekaj chwilę. Podświetlanie składni powinno się ponownie pojawić. W ten sposób rozwiązuję 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)
    }

System uruchamia się ponownie niezależnie od wszystkiego, co robisz. Nie musisz komentować wiersza, ponieważ wkrótce zacznie ponownie działać. I oczywiście też upaść.
Maury Markowitz,

0

Zgłoszone do Apple (# 17266321):

Detale:

Podsumowanie: Jeśli spróbujemy wydrukować słownik z wartością jako tablicą, pojawi się wyskakujące okienko z napisem „SourceKit zakończony. Funkcjonalność edytora ograniczona czasowo”. Xcode zawiesza się i traci rozpoznawanie kontekstu, powodując czernienie tekstu.

Kroki do odtworzenia: 1. Utwórz tablicę jako - „var iOSHistoryArray = [„ iOS6 ”,„ iOS7 ”,„ iOS8 ”,]„

  1. Utwórz słownik jako - „var MacOSYosemiteFeatures: Dictionary = [„ Device ”: iOSHistoryArray]”.

  2. Wydrukuj słownik jako - „println („ Słownik zawierający wartość Array:% @ \ n ”, MacOSYosemiteFeatures)” (<< - Culprit - >>)

  3. Krok 3 powoduje komentowanie problemu, dzięki czemu Xcode działa ponownie.

Oczekiwane wyniki: Xcode powinien działać normalnie.

Rzeczywiste wyniki: Xcode przestaje działać, 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

Spróbuj:

W kompilatorze / indeksatorze Swift występuje błąd. Niektóre linie lub wiersze w kodzie sprawiają trudności. Będziesz musiał edytować kod za pomocą innego edytora tekstowego, aby skomentować linię (y) obrażającą, zanim będziesz mógł otworzyć ten projekt za pomocą Xcode. Jeśli nie masz pojęcia, na czym polega problem, skomentuj cały kod. Po otwarciu projektu możesz stopniowo przywracać kod, dopóki wzrost aktywności procesora nie powie, że znalazłeś problem.


@ Pang, jeśli odpowiedzi są prawidłowe i takie same, to pytania są prawdopodobnie duplikaty, więc powinieneś głosować lub oflagować je, aby je zamknąć - W tym przypadku jest to zdecydowanie otwarte
mmmmmm

0

Problem:

  • Jeśli wystąpi błąd w kodzie źródłowym, może pojawić się wyskakujące okienko „SourceKitService Terminated”, a podświetlanie kodu przestaje działać. Może się to zdarzyć lub nie, jeśli dzieje się to w wielu różnych warunkach.

Mój przypadek: Zainstalowałem wersję beta 3, tylko OSX, jeden plik wykrył, że operator „zakresu pół-zamkniętego zakresu został zmieniony z… na… <”. Pojawi się wyskakujące okienko, a podświetlenie kodu przestanie działać.

Rozwiązanie:

  • Napraw błąd wykryty przez Xcode
  • Zmień na inny .swift w Navigator, wróć do oryginału
  • Ponownie pojawia się podświetlanie składni i zniknęło wyskakujące okienko „SourceKitService Terminated”


0

W moim przypadku zaimportowałem brakujące pliki do zmostkowanego nagłówka. Po usunięciu nieprawidłowego importu zniknęło powiadomienie o błędzie.


0

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 wyraźnie zbudować platformę. Kiedy to zrobiłem, problem zniknął i nie wraca;)


0

Nadal dzieje się z wersją xcode 6 6.0 (6A313)

  • Utwórz nowy projekt
  • Dodaj platformę i bibliotekę
  • Wybierz strukturę dotykową kakao
  • Dodaj plik Swift
  • Dodaj klasę do szybkiego pliku

Awarie

ps: nowy Mac mini, bez wcześniejszych instalacji xcode, nic egzotycznego. Chyba tylko produkt w wersji beta.


0

Xcode 6.1 Beta 3:

Gdy tylko zdefiniujesz nieprywatny alias typu (np. typealias Foo = Int) W jednym pliku Swift, wpisz literę cw innym pliku, SourceKitService ulega awarii.

Rozwiązaniem jest zrezygnowanie z używania aliasów typów, poczekanie na następną wersję beta lub zawarcie aliasów typów w definicjach klas:

public class DummyClass {
    public typealias Foo = String
}

i użyj tego w ten sposób:

var myVar:DummyClass.Foo?

0

Zmieniłem cel wdrażania na iOS 8.0. Wiem, że ktoś powiedział, że przeniesienie go do <= 7.1 działało, ale ten problem wydaje się pochodzić z wielu źródeł, więc ta alternatywa może działać.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.