J'ai un problème avec Xcode où l'erreur "Source Kit Service Terminated" apparaît et toute la coloration syntaxique et l'achèvement du code ont disparu dans Swift. Comment puis-je réparer cela?
Voici un exemple d'image:
J'ai un problème avec Xcode où l'erreur "Source Kit Service Terminated" apparaît et toute la coloration syntaxique et l'achèvement du code ont disparu dans Swift. Comment puis-je réparer cela?
Voici un exemple d'image:
Réponses:
La réponse à la mienne (Xcode6-Beta7) était simplement de supprimer le dossier Derived Data.
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
J'espère que cela aide quelqu'un. Il y a évidemment de nombreuses raisons pour lesquelles ce crash peut se produire.
la source
Je pense que j'ai peut-être trouvé une solution plus générale. Voici les étapes que j'ai utilisées pour encourager Xcode à ne pas produire l'
SourceKitService Terminated
erreur.Les symptômes que je ressentais:
Error running playground: Failed prepare for communication with playground.
voir cette image sur Twitter .OS X
àiOS
, je recevais une autre erreur (malheureusement, je ne l'ai pas notée).SourceKitService Terminated
problème dans ce fil.Processus de débogage:
IDEPlaygroundDocument: Error encountered running playground
com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.
Ce que j'ai fait pour corriger ce problème.
Si vous ne rencontrez un problème que dans le contexte d'un projet Swift, essayez d'abord cela seul. Si cela ne fonctionne pas, essayez toutes les étapes ci-dessous.
Le processus le plus long et le plus complexe. (Les 3 premières étapes ne sont certainement pas utiles, mais je les ai faites, donc enregistrez-les ici)
OS X
àiOS
.Une analyse
Il semble que le problème soit que Xcode6 ne soit pas en mesure de trouver et de se connecter correctement au simulateur. Je n'ai pas pu déterminer pourquoi c'est le cas, mais cela m'a permis de continuer à développer avec Swift. Cela peut être dû au fait que les binaires du simulateur semblent avoir bougé .
la source
Vous avez juste besoin de supprimer le "ModuleCache", c'est une sorte de cache utilisé par Xcode pour l'autocomplétion.
Copiez et collez la ligne suivante dans le terminal:
rm -rf ~ / Library / Developer / Xcode / DerivedData / ModuleCache
la source
SourceKitService se bloque sur mon système dès que je tape
J'utilise Xcode 6 beta 6 et ce n'est pas grave si je le tape dans un fichier vide ou l'ajoute à un fichier existant. Dès que la source contient un
extension
bloc, il se bloque. Cela se produit même sur les projets nouvellement créés.Ma "solution" est d'éviter l'extension dans les sources sur lesquelles je travaille actuellement. Je commente la fin d'un bloc de classe et le début du bloc d'extension. Dès que j'ai fini mon travail sur la classe, je les commente à nouveau:
la source
Cela a commencé à se produire sur mon projet spritekit après avoir inséré la fonction touchesMoved. Cette fonction utilise le déballage forcé, ce qui semble causer le problème:
Après avoir supprimé les points d'exclamation et ainsi arrêté le déballage forcé, le SourceKitService a cessé de planter.
J'espère que cela t'aides!
la source
J'ai trouvé une solution sur les forums des développeurs d'Apple (qui nécessite une connexion, je vais donc l'expliquer ici aussi).
TLDR : n'importez pas un
@protocol
dans votre en-tête de pontage Objective-C vers Swift qui porte le même nom qu'un@interface
. Par exemple, le SDK Facebook a à la fois un protocole et une interface nommée "FBGraphObject".Voici le message du forum:
la source
3.17.1
Utilisez un autre nom que Swift pour le projet. "Swift" est réservé.
la source
UIView
.J'ai eu ce problème toutes les quelques secondes dans Xcode 6 Beta 3, et cela a continué même dans des projets complètement nouveaux. J'ai changé la cible de déploiement de 8.0 à 7.1 et elle s'est arrêtée.
la source
Votre projet est-il nommé
Swift
? En voyant ce message, la construction échouerait également (<unknown>:0: error: module name "Swift" is reserved for the standard library
). Essayez d'utiliser un autre nom de projet tel queSwiftTest
. Ça marcherait.la source
Afin de résoudre ce problème, vous pouvez avoir un problème étrange avec votre code Swift. Par exemple, avoir plusieurs définitions d'IBOutlets parce que vous étiez en train de copier et coller. il s'agit généralement d'une erreur de syntaxe qui ne peut pas être gérée.
la source
J'ai trouvé qu'en tapant explicitement (statiquement) les types de variables, plutôt que de les inférer, j'ai résolu le problème pour moi.
la source
Quittez Xcode s'il est ouvert. Puis à partir de Terminal run:
Cela restaurera Xcode aux paramètres par défaut. Ouvrez Xcode et tout devrait fonctionner à nouveau.
la source
Pour moi (xcode 6.1), la raison était que j'avais oublié d'adopter ma sous-classe au protocole.
Par exemple, c'est faux:
et c'est ok:
la source
Un programme composé uniquement de ces deux lignes (éventuellement erroné en termes de syntaxe Swift) suffit ici à provoquer l'erreur "SourceKitService Terminated":
Utiliser
let
au lieu devar
fait que l'éditeur se comporte normalement à nouveau. Xcode version 6.0 (6A215l)la source
J'ai le même problème aujourd'hui, la chose était avec
println
, je viens d'essayer l'ancien style NSLog pour imprimer une valeur:La façon dont nous devons composer les chaînes en swift a évolué du style printf au style inline, alors maintenant vous intégrez vos valeurs directement dans la chaîne de format comme ceci:
Ainsi, pour l'exemple ci-dessus, la solution est:
la source
J'ai eu le même problème avec Xcode6 beta 3 pour un projet créé en beta 2.
C'était à cause de nouveaux changements de rupture dans le langage rapide, c'est-à-dire la syntaxe de déclaration de tableau.
Vérifiez le code effectué en raison des changements de rupture dans la bêta 3.
http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes__.pdf
L'un des exemples dans mon cas était:
J'ai dû changer:
à
Conclusion: il semble qu'il y ait une erreur dans le code source, dans certaines conditions, cette erreur est produite par Xcode.
Solution jusqu'à ce que le bug soit corrigé: Vérifiez l'erreur manuellement :)
Bonne chance!
la source
La solution pour moi était de changer le simulateur. J'utilisais l'iPhone 5S pour mon simulateur et quand je l'ai changé pour l'iPhone 5, tout fonctionnait parfaitement. Espérons qu'une future version le corrigera complètement.
la source
J'ai trouvé que la suppression des données dérivées du terminal résout le problème jusqu'au prochain crash. : S
Il se trouve dans: / Users / {User name} / Library / Developer / Xcode / DerivedData / {Project Name} - {Random char sequence}
J'espère que ça aide.
la source
Je pense que j'ai compris une (car il y en a probablement beaucoup) des raisons pour lesquelles cela se produit.
Dans mon cas, j'importais des fichiers Objective-C via l'en-tête de pontage qui présentait l'une des conditions suivantes:
La correction des cibles d'application sur les fichiers Objective-C OU la suppression de l'importation de ces fichiers dans l'en-tête de pontage semble résoudre le problème.
Pour info - Si vous devez définir la cible des fichiers d'en-tête (.h) qui n'ont pas de fichier d'implémentation (.m), vous pouvez suivre ces étapes simples: Impossible de modifier la visibilité de l'appartenance à la cible dans Xcode 4.5
la source
Juste pour ajouter une autre solution potentielle ici, j'avais accidentellement nommé une classe var du même nom que son type:
Cela plantera SourceKit FOR SURE. Erreur de syntaxe stupide, mais au cas où quelqu'un d'autre ferait la même erreur.
Edit: également selon @Portland Runner:
De même, si vous définissez le type de retour sur le nom func, vous obtiendrez l'erreur.
la source
func foo() ->foo{}
(n'hésitez pas à l'ajouter à votre réponse)Lorsque cette erreur commence à apparaître, commentez simplement le dernier / récent morceau de code que vous avez écrit et attendez un moment. La coloration syntaxique devrait réapparaître. C'est ainsi que je contourne le problème.
la source
Signalé à Apple (# 17266321):
Détails:
Résumé: Si nous essayons d'imprimer un dictionnaire avec une valeur sous forme de tableau, un pop-up continue à apparaître en disant - "SourceKit terminé. Fonctionnalité de l'éditeur limitée temporairement". Xcode Gèle et perd la reconnaissance de contexte provoquant le noircissement du texte.
Étapes pour reproduire: 1. Créez un tableau comme - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"
Créez un dictionnaire sous la forme - "var MacOSYosemiteFeatures: Dictionary = [" Device ": iOSHistoryArray]".
Imprimez le dictionnaire en tant que - "println (" Dictionnaire contenant la valeur du tableau:% @ \ n ", MacOSYosemiteFeatures)" (<< - Coupable - >>)
L'étape 3 provoque le commentaire du problème qui rend le Xcode fonctionnel à nouveau.
Résultats attendus: Xcode devrait fonctionner normalement.
Résultats réels: Xcode devient non fonctionnel, perd la reconnaissance du contexte (toutes les polices sont perdues et tout le texte devient noir), l'ensemble Xcode devient inactif.
Version: Version 6.0 (6A215l)
la source
Essayez-le:
la source
Problème:
Mon cas: Bêta 3 installée, projet OSX uniquement, un fichier a détecté l'erreur "l'opérateur de plage semi-fermée est passé de .. à .. <". La fenêtre contextuelle commence à apparaître et la mise en surbrillance du code commence à échouer.
Solution:
la source
Dans xcode, allez dans votre barre de menu >> fenêtre >> appareils (shift + cmd + 2) une nouvelle fenêtre apparaîtra et en bas à gauche, ajoutez un nouveau simulateur, en particulier un fonctionnant sur iOS 8.0 à la liste existante : vous devrez peut-être redémarrer xcode
réfrence: http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/
la source
Dans mon cas, j'avais importé des fichiers manquants dans un en-tête ponté. Après avoir supprimé les importations incorrectes, la notification d'erreur a disparu.
la source
J'ai eu la même erreur avec le projet Objective-C ++ imbriqué qui inclut maintenant Framework avec du code Swift. Afin de résoudre ce problème, j'ai dû créer explicitement le cadre. Une fois que j'ai fait, ce problème a disparu et ne revient pas;)
la source
Toujours avec xcode 6 version 6.0 (6A313)
Crashes
ps: tout nouveau mac mini, aucune installation précédente de xcode, rien d'exotique. Juste un produit bêta, je suppose.
la source
Xcode 6.1 Beta 3:
Dès que vous définissez un alias de type non privé (par exemple
typealias Foo = Int
) dans un fichier Swift et tapez la lettrec
dans un autre fichier, SourceKitService se bloque.La solution consiste soit à ne plus utiliser d'alias de type, à attendre la prochaine version bêta ou à encapsuler vos alias de type dans les définitions de classe:
et utilisez-le comme ceci:
la source
Changer la cible de déploiement en iOS 8.0 a fonctionné pour moi. Je sais que quelqu'un a dit que le déplacer vers <= 7.1 fonctionnait, mais ce problème semble provenir de plusieurs sources, donc cette alternative peut fonctionner.
la source