Toda vez que eu crio um novo playground para testar algum código, o Xcode fica preso e não executa o código. Ele simplesmente apresenta a declaração 'Running playground' ou 'Launching simulator' na parte superior da tela com o ícone de carregamento girando prometidamente ao lado dele, mas nada acontece. Às vezes, isso continua indefinidamente e às vezes o Xcode interrompe e imprime isso no console:
Playground execution failed: error: Couldn't lookup symbols:
__swift_FORCE_LOAD_$_swiftCoreImage
__swift_FORCE_LOAD_$_swiftFoundation
_playground_log_hidden
_playground_logger_initialize
_playground_log_postprint
thread #1: tid = 0xc0cd0, 0x000000010ea7c3c0 MyPlayground`executePlayground, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2
frame #0: 0x000000010ea7c3c0 MyPlayground`executePlayground
frame #1: 0x000000010ea7b9c0 MyPlayground`__37-[XCPAppDelegate enqueueRunLoopBlock]_block_invoke + 32
frame #2: 0x000000010f59625c CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
frame #3: 0x000000010f57b304 CoreFoundation`__CFRunLoopDoBlocks + 356
frame #4: 0x000000010f57aa75 CoreFoundation`__CFRunLoopRun + 901
frame #5: 0x000000010f57a494 CoreFoundation`CFRunLoopRunSpecific + 420
frame #6: 0x0000000114985a6f GraphicsServices`GSEventRunModal + 161
frame #7: 0x0000000110124f34 UIKit`UIApplicationMain + 159
frame #8: 0x000000010ea7b6e9 MyPlayground`main + 201
frame #9: 0x0000000112ad268d libdyld.dylib`start + 1
frame #10: 0x0000000112ad268d libdyld.dylib`start + 1
Estou executando o Xcode 8.0 (8A218a) no macOS Sierra 10.12.
Hardware :
MacBook Pro (13 "em meados de 2012)
2,5 GHz Intel Core i5
4 GB 1600 MHz RAM DDR3
Eu olhei em volta, mas pelo menos nenhum desses tópicos forneceu uma resposta:
https://forums.developer.apple.com/thread/5902
https://github.com/jas/playground/issues/9
Coisas que eu já tentei com zero sucesso:
- Reiniciando o Xcode
- Reinstalando o Xcode (rebaixado para 7.3, mas como isso não ajudou, eu atualizei novamente para 8.0)
- Reiniciando a máquina
- Criando um novo playground
Você tem alguma idéia de como resolver esse problema? Eu sou novo em programação e estou ansioso para aprender Swift, mas o Xcode está tornando-o praticamente impossível ...
Agradeço antecipadamente, felicidades.
Respostas:
Resp. Mudar para a plataforma macOS
Quando você cria um Playground, por padrão, ele seleciona a plataforma iOS e importa automaticamente o UIKit. É o UIKit que trava e fica preso o tempo todo . Se o seu código (de prática) não usar o UIKit, você poderá mudar para a plataforma MacOS . A principal diferença (embora não exata) entre iOS e macOS está no APPKit e no UIKit.
No canto superior direito do seu Xcode Playground, clique em mostrar / ocultar Utilitários -> inspetor de arquivos -> Configuração do Playground -> Plataforma -> macOS
Veja screenShot abaixo:
fonte
Eu tentei o seguinte e funcionou para mim:
fonte
No meu caso, o Xcode 8.3.2, funciona quando tento as etapas abaixo:
fonte
O processo principal do Buggy Simulator ainda está funcionando mesmo após o fechamento do Xcode. Então, aqui estão as etapas:
com.apple.CoreSimulator.CoreSimulatorService
Processo de extermínio no Activity Monitor;fonte
Na minha experiência, você deve:
Funciona muito bem.
fonte
Eu cancelei o comentário na primeira linha. Isso resolveu para mim. Tente testá-lo depois de fechar e reiniciar o Xcode e forçar o encerramento do com.apple.coresimulator no Activity Monitor
fonte
Adicionar importação PlaygroundSupport resolveu o problema para mim :)
fonte
Você pode mudar para o processamento manual. Funcionou para mim.
fonte
Certifique-se de matar o xcode no monitor de atividades antes de acabar com o processo com.apple.CoreSimulator.CoreSimulatorService no monitor de atividades. Tentei interromper o processo várias vezes e percebi que, se o xcode ainda estiver sendo executado na atividade em segundo plano, o processo com.apple.CoreSimulator.CoreSimulatorService apareceria novamente mesmo quando você o matasse.
fonte
Eu tive o mesmo problema, tudo o que fiz foi abrir o editor de assistência e tudo funciona bem mesmo quando eu fechei o editor de assistência! Não pergunte por que foi tentativa e erro. Espero que isso ajude você
fonte
depois de executar um tempo, você verá uma mensagem de erro, em seguida, vá para ver> área de depuração> ativar console e, em seguida, jogar novamente funcionou para mim
fonte
Verifique o plano de armazenamento do iCloud!
Se você tiver um, ele sincroniza constantemente todo o computador, que inclui as pastas Área de trabalho e Documento. Em vez disso, tente criar uma pasta "Arquivos locais" na sua pasta Home (comando + shift + h) e mantenha seus projetos do Playground lá, onde não são sincronizados com o iCloud.
Isso funcionou para mim. Espero que funcione para você também! :)
fonte
Estou usando o Xcode 10.2 e estou tendo o mesmo problema. Geralmente, basta usar o Online Swift Playground
Isso serve aos meus propósitos! :-)
fonte
No meu caso, o problema foi induzido pelo usuário. Eu tinha o editor assistente exibido, mas a exibição ao vivo não foi selecionada. Certifique-se de que fica assim:
E não é assim:
fonte
Também acontece, como no meu caso, quando você define uma função, mas esqueceu de chamá-la?
fonte
Como se esta pergunta não tivesse respostas suficientes, fornecerei minha "solução" para o problema do Swift playgrounds:
A única solução que encontrei que funciona muito bem para mim (portanto, não preciso reiniciar o Xcode):
Isso fará com que o "Running Playground ..." seja desativado e você poderá acionar uma nova execução. Esteja ciente: a próxima execução irá girar
launchd_sim
e todos esses processos filhos novamente. Provavelmente seria melhor matar apenas o processo filho relevante. Mas não encontrei até agora.Mas eu faço isso apenas quando não estou usando os simuladores do iOS em paralelo, pois o
launchd_sim
processo é filho deSimulator
.fonte
Excluí os dados derivados e limpei a pasta de compilação. Isso funciona para mim. Eu estava enfrentando o Xcode 11.2.1 e o Xcode 10.1 na mesma máquina.
fonte
Eu estava enfrentando o mesmo problema, mas depois de pesquisar e experimentar um pouco, descobri que é preciso sempre
import UIKit
antes de importar outras bibliotecas.fonte
Em primeiro lugar, exclua a linha de comentário embutida.
Então, mesmo se você inserir um comentário de primeira linha, ele ainda funcionará.
fonte
Uma última dica que funciona para mim: verifique se nenhum simulador de iOS está em execução. Eles entram em conflito um com o outro.
fonte