Estou tendo um problema com o Xcode em que o erro "Serviço do kit de origem finalizado" está aparecendo e todos os realces de sintaxe e conclusão de código desaparecem no Swift. Como posso consertar isso?
Aqui está um exemplo de imagem:
ios
swift
xcode
sourcekitservice
Tony
fonte
fonte
Respostas:
A resposta para a minha (Xcode6-Beta7) foi simplesmente excluir a pasta Dados Derivados.
Preferences > Locations > Derived Data > click the arrow to open in Finder > trash it.
Espero que isso ajude alguém. Obviamente, existem muitas razões pelas quais essa falha pode ocorrer.
fonte
Acredito que posso ter encontrado uma solução de propósito mais geral. Abaixo estão as etapas que eu usei para incentivar o Xcode a não produzir o
SourceKitService Terminated
erro.Os sintomas que eu estava tendo:
Error running playground: Failed prepare for communication with playground.
veja esta imagem no twitter .OS X
paraiOS
, recebia outro erro (infelizmente não o escrevi).SourceKitService Terminated
problema neste segmento.Processo de depuração:
IDEPlaygroundDocument: Error encountered running playground
com.apple.CoreSimulator.CoreSimulatorService[3952]: The runtime for the selected device is not installed.
O que eu fiz para corrigir esse problema.
Se você está tendo apenas um problema no contexto de um projeto Swift, tente fazer isso sozinho primeiro. Se isso não funcionar, tente todas as etapas abaixo.
O processo mais demorado e envolvido. (Os três primeiros passos não são de certeza úteis, mas eu os fiz e grave-os aqui)
OS X
paraiOS
.Análise
Parece que o problema está no fato de o Xcode6 não conseguir encontrar e conectar-se adequadamente ao simulador. Não consegui determinar por que esse é o caso, mas isso me permitiu continuar desenvolvendo com o Swift. Isso pode ter a ver com o fato de os binários do simulador parecerem ter se movido .
fonte
Você só precisa excluir o "ModuleCache", esse é um tipo de cache usado pelo Xcode para preenchimento automático.
Copie e cole a seguinte linha no Terminal:
rm -rf ~ / Biblioteca / Desenvolvedor / Xcode / DerivedData / ModuleCache
fonte
O SourceKitService falha no meu sistema assim que digito
Estou usando o Xcode 6 beta 6 e não importa se eu o digito em um arquivo vazio ou o adiciono a um existente. Assim que a fonte contiver um
extension
bloco, ela travará. Isso acontece mesmo em projetos recém-criados.Minha "solução" é evitar a extensão nas fontes em que estou trabalhando atualmente. Comento o final de um bloco de classes e o início do bloco de extensão. Assim que termino meu trabalho na classe, comento-os novamente:
fonte
Começou a acontecer no meu projeto de spritekit depois de inserir a função touchesMoved-. Esta função usa desembrulhar forçado, o que parece causar o problema:
Após remover os pontos de exclamação e interromper o desembrulhamento forçado, o SourceKitService parou de funcionar.
Espero que isto ajude!
fonte
Encontrei uma solução nos Fóruns de desenvolvedores da Apple (que requer login, por isso também explicarei aqui).
TLDR : não importe um
@protocol
no cabeçalho de ponte Objective-C to Swift que seja o mesmo que um@interface
. Por exemplo, o SDK do Facebook possui um protocolo e uma interface denominada "FBGraphObject".Aqui está o post do fórum:
fonte
3.17.1
Use outro nome que não seja Swift para o projeto. "Swift" está reservado.
fonte
UIView
.Eu tive esse problema a cada poucos segundos no Xcode 6 Beta 3, e continuou mesmo em projetos completamente novos. Alterei o Deployment Target de 8.0 para 7.1 e ele parou.
fonte
Seu projeto é nomeado
Swift
? Ao ver essa mensagem, a construção também falharia (<unknown>:0: error: module name "Swift" is reserved for the standard library
). Tente usar outro nome de projeto, comoSwiftTest
. Funcionaria.fonte
Para corrigir isso, você pode ter algum problema estranho com seu código Swift. Por exemplo, tendo várias definições de IBOutlets porque você estava no meio de copiar e colar. geralmente é apenas um erro de sintaxe que não pôde ser tratado.
fonte
Eu descobri que, digitando explicitamente (estaticamente) os tipos de variáveis, em vez de deduzi-los, resolvi o problema para mim.
fonte
Saia do Xcode se estiver aberto. Em seguida, no Terminal, execute:
Isso restaurará o Xcode para as configurações padrão. Abra o Xcode e tudo deve funcionar novamente.
fonte
Para mim (xcode 6.1), o motivo foi que eu esqueci de adotar minha subclasse ao protocolo.
Por exemplo, isso está errado:
e está tudo bem:
fonte
Um programa que consiste apenas dessas duas linhas (possivelmente erradas em termos de sintaxe Swift) é suficiente para causar o erro "SourceKitService Terminated" aqui:
Usar em
let
vez devar
faz com que o editor se comporte normalmente novamente. Xcode versão 6.0 (6A215l)fonte
Tenho o mesmo problema hoje, o problema era
println
: eu apenas tentei o antigo estilo NSLog para imprimir um valor:A maneira como devemos compor as strings no swift evoluiu do estilo printf para o estilo embutido, então agora você incorpora seus valores diretamente na string de formato da seguinte maneira:
Portanto, para o exemplo acima, a solução é:
fonte
Eu tive o mesmo problema com o Xcode6 beta 3 para um projeto criado na beta 2.
Foi por causa de novas mudanças na linguagem rápida, isto é, sintaxe de declaração de matriz.
Verifique o código efetuado devido a alterações na versão beta 3.
http://adcdownload.apple.com//Developer_Tools/xcode_6_beta_3_lpw27r/xcode_6_beta_3_release_notes__.pdf
Um dos exemplos no meu caso foi:
Eu tive que mudar:
para
Conclusão: Parece que, se houver um erro no código fonte, em algumas condições esse erro é produzido pelo Xcode.
Solução até que o bug seja corrigido: verifique o erro manualmente :)
Boa sorte!
fonte
A solução para mim foi mudar o simulador. Eu estava usando o iPhone 5S no meu simulador e quando mudei para o iPhone 5, tudo funcionou perfeitamente. Espero que uma versão futura o conserte completamente.
fonte
Descobri que a remoção de dados derivados do terminal resolve o problema até a próxima falha. : S
Está localizado em: / Usuários / {Nome do usuário} / Biblioteca / Desenvolvedor / Xcode / DerivedData / {Nome do projeto} - {Sequência de caracteres aleatórios}
Eu espero que isso ajude.
fonte
Eu acho que descobri um (como provavelmente há muitos) dos motivos pelos quais isso ocorre.
No meu caso, eu estava importando arquivos Objective-C por meio do Bridging Header que tinha uma das seguintes verdadeiras:
Corrigir os destinos do aplicativo nos arquivos Objective-C OU remover a importação desses arquivos no cabeçalho de ponte todos juntos parece corrigir o problema.
FYI - Se você precisar definir o destino dos arquivos de cabeçalho (.h) que não possuem arquivo de implementação (.m), siga estas etapas simples: Não é possível alterar a visibilidade da associação de destino no Xcode 4.5
fonte
Apenas para adicionar mais uma solução em potencial aqui, eu acidentalmente nomeei uma classe var com o mesmo nome do tipo:
Isso irá travar o SourceKit DE CERTEZA. Erro de sintaxe estúpido, mas no caso de mais alguém cometer o mesmo erro.
Edit: também de acordo com o @Portland Runner:
Da mesma forma, se você definir o tipo de retorno como o nome da função, receberá o erro.
fonte
func foo() ->foo{}
(sinta-se livre para adicioná-lo em sua resposta)Quando esse erro começar a aparecer, apenas comente o último / código recente que você escreveu e aguarde um pouco. O realce da sintaxe deve reaparecer. É assim que eu trabalho em torno do problema.
fonte
Relatado à Apple (# 17266321):
Detalhes:
Resumo: Se tentarmos imprimir um dicionário com valor como uma matriz, um pop-up continuará sendo exibido dizendo: "SourceKit finalizado. Funcionalidade do editor temporalmente limitada". Xcode Congela e perde o reconhecimento de contexto, causando o escurecimento do texto.
Etapas para reproduzir: 1. Crie uma matriz como - "var iOSHistoryArray = [" iOS6 "," iOS7 "," iOS8 ",]"
Crie um dicionário como - "var MacOSYosemiteFeatures: Dictionary = [" Device ": iOSHistoryArray]".
Imprima o dicionário como - "println (" Dicionário que contém o valor da matriz:% @ \ n ", MacOSYosemiteFeatures)" (<< - Culprit - >>)
A etapa 3 faz com que o problema seja comentado, o que torna o Xcode funcional novamente.
Resultados esperados: O Xcode deve funcionar normalmente.
Resultados reais: o Xcode fica inoperante, perde o reconhecimento de contexto (toda a fonte é perdida e todo o texto fica em preto puro), todo o Xcode fica inativo.
Versão: Versão 6.0 (6A215l)
fonte
Tente:
fonte
Problema:
Meu caso: Instalado o beta 3, projeto apenas do OSX, um arquivo detectou o erro "o operador de intervalo semi-fechado foi alterado de .. para .. <". O pop-up começa a aparecer e o realce do código começa a falhar.
Solução:
fonte
No xcode, vá para a barra de menu >> janela >> dispositivos (shift + cmd + 2) uma nova janela será exibida e, no canto inferior esquerdo, adicione um novo simulador, especificamente um em execução no iOS 8.0 à edição da lista existente : pode ser necessário reiniciar o xcode
referência: http://www.reddit.com/r/swift/comments/2bznfo/error_running_playground_unable_to_find_suitable/
fonte
No meu caso, eu havia importado arquivos ausentes no cabeçalho em ponte. Depois de excluir as importações erradas, a notificação de erro desapareceu.
fonte
Eu tive o mesmo erro com o projeto Objective-C ++ aninhado que agora inclui Framework com código Swift. Para corrigir esse problema, tive que construir explicitamente a estrutura. Uma vez que eu fiz esse problema se foi, e não volta;)
fonte
Ainda acontecendo com o xcode 6 Versão 6.0 (6A313)
Crashes
ps: novo mac mini, sem instalação anterior do xcode, nada de exótico. Apenas um produto beta, suponho.
fonte
Xcode 6.1 Beta 3:
Assim que você definir um alias de tipo não particular (por exemplo
typealias Foo = Int
) em um arquivo Swift, digite a letrac
em outro arquivo, o SourceKitService trava.A solução é renunciar ao uso de aliases de tipo, aguardar a próxima versão beta ou agrupar seus aliases de tipo nas definições de classe:
e use-o assim:
fonte
Alterar o destino de implantação para o iOS 8.0 funcionou para mim. Eu sei que alguém disse que movê-lo para <= 7,1 funcionou, mas esse problema parece vir de várias fontes, portanto essa alternativa pode funcionar.
fonte