242 votes

SourceKitService Résilié

Je vais avoir un problème avec Xcode où l'erreur "Source Kit de cessation de Service" est popping up et tous syntaxique et la complétion de code est allé à Swift. Comment puis-je résoudre ce problème?

Voici un exemple en image:

enter image description here

114voto

tobygriffin Points 507

La réponse à la mienne (Xcode6-Beta7) était simplement de supprimer les Données Dérivées du dossier.

Préférences > Lieux > Dérivé de Données > cliquez sur la flèche pour l'ouvrir dans le Finder > corbeille.

Espérons que cela aide quelqu'un. Il y a évidemment de nombreuses raisons de ce blocage peut se produire.

35voto

Je crois que j'ai peut-être trouvé une manière plus générale le but de la solution. Ci-dessous sont les étapes que j'ai utilisé pour encourager Xcode ne pas produire de l' SourceKitService Terminated d'erreur.


Les symptômes que j'ai eu:

  • Quand je veux démarrer un nouveau terrain de jeu, je reçois une erreur de ne pas être en mesure de communiquer avec la cour de récréation (Error running playground: Failed prepare for communication with playground. Voir cette image sur twitter.
  • Quand je changerais le terrain de jeu de OS X de iOS, je reçois un autre message d'erreur (malheureusement je n'ai pas écrit que l'un vers le bas).
  • Quand j'ai commencé à taper dans un iOS Swift basée sur le projet, essayez d'utiliser la complétion de code/intellisense sur toute UIKit spécifique à la classe, je reçois SourceKitService Terminated question dans ce fil.

Processus de débogage:

  • J'ai commencé par regarder dans google pour SourceKitService, c'est très peu.
  • J'ai alors commencé à la Console de surveillance.application tout en utilisant Xcode. Cela a montré quelques erreurs:
    • 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 êtes seul à avoir un problème dans le cadre d'un projet Swift, essayez ce seul premier. Si cela ne fonctionne pas, alors essayez de l'ensemble de la procédure ci-dessous.

  1. Ouvrez votre projet et de changer la cible de la cible de déploiement pour quelque chose <= 7.1.

Les plus longues et les processus impliqués. (Les 3 premières étapes ne sont pas à coup sûr utile, mais je l'ai fait, et ainsi de noter ici)

  1. Complètement supprimer toutes les copies de Xcode sur votre système.
  2. Redémarrez votre ordinateur.
  3. Réinstaller Xcode6-bêta.
  4. Vérifiez que vous avez encore le problème dans l'aire de jeux et/ou des projets.
  5. Ouvrir le Simulateur iOS.
  6. Matériel -> Appareil -> Gérer Les Périphériques
  7. Retirez tous les périphériques.
  8. Recréer tous les périphériques que vous souhaitez. J'ai ajouté la version d'iOS à la fin du nom, juste parce que.
  9. Redémarrez Xcode et le simulateur.
  10. Vérifiez qu'au moins les terrains de jeux plus jeter des problèmes lors de la mise d' OS X de iOS.
  11. Ouvrez votre projet et de changer la cible de la cible de déploiement pour quelque chose <= 7.1.

L'analyse

Il semble que le problème est avec Xcode6 ne pas être en mesure de trouver et se connecter, pour le simulateur. Je n'ai pas été en mesure de déterminer pourquoi cela est le cas, mais cela m'a permis de continuer à développer avec Swift. Cela peut avoir à faire avec le fait que le simulateur binaires semblent avoir déplacé.

32voto

David Attias Points 173

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 ~/Bibliothèque/Développeur/Xcode/DerivedData/ModuleCache

27voto

Klaas Points 2995

SourceKitService s'écrase sur mon système dès que je tape

extension foo {

Je suis en utilisant Xcode 6 beta 6 et il n'a pas d'importance si je tape dans un fichier vide ou l'ajouter à un existant. Dès que la source contient un extension bloc, il va se planter. Cela arrive même sur les nouveaux projets.

Ma "solution" est d'éviter l'extension dans les sources, je suis actuellement en train de travailler sur. J'ai fait un commentaire à la fin d'une classe de bloc et le début de l'extension du bloc. Dès que j'ai fini mon travail sur la classe, je les commenter à nouveau:

class MyClass {

    [... my stuff ...]

//}
//
//extension MyClass {

}

8voto

Marius Fanu Points 159

Utiliser un autre nom que Swift pour le projet. "Swift" est réservé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X