Chaque fois que je crée un nouveau terrain de jeu pour tester du code, Xcode reste bloqué et ne lance pas le code. Il présente simplement la déclaration `` Courant de jeu '' ou `` Simulateur de lancement '' en haut de l'écran avec l'icône de chargement qui tourne de manière prometteuse à côté, mais rien ne se passe. Parfois, cela continue indéfiniment et parfois Xcode s'arrête et affiche ceci sur la 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
J'utilise Xcode 8.0 (8A218a) sur macOS Sierra 10.12.
Matériel :
MacBook Pro (13 "mi-2012)
2,5 GHz Intel Core i5
4 Go 1600 MHz Ram DDR3
J'ai regardé autour de moi mais au moins aucun de ces fils n'a fourni de réponse:
https://forums.developer.apple.com/thread/5902
https://github.com/jas/playground/issues/9
Choses que j'ai déjà essayées sans succès:
- Redémarrer Xcode
- Réinstaller Xcode (rétrogradé à la version 7.3 mais puisque cela n'a pas aidé, je suis revenu à la version 8.0)
- Redémarrage de la machine
- Créer un nouveau terrain de jeu
Avez-vous des idées sur la façon de résoudre ce problème? Je suis nouveau dans la programmation et j'essaie avec impatience d'apprendre Swift mais Xcode le rend pratiquement impossible ...
Merci d'avance, bravo.
Réponses:
Ans. Passer à la plate-forme macOS
Lorsque vous créez un Playground, il sélectionne par défaut la plate-forme iOS et importe automatiquement UIKit. C'est l'UIKit qui plante et se bloque tout le temps . Si votre code (pratique) n'utilise pas UIKit, vous pouvez passer à la plate-forme MacOS . La différence majeure (pas exacte cependant) entre iOS et macOS réside dans APPKit et UIKit.
Dans le coin supérieur droit de votre Xcode Playground, cliquez sur show / hide Utilities -> File inspector -> Playground Setting -> Platform -> macOS
Voir screenShot ci-dessous:
la source
J'ai essayé ce qui suit et cela a fonctionné pour moi:
la source
Dans mon cas, Xcode 8.3.2, cela fonctionne lorsque j'essaie comme suit:
la source
Le processus principal de Buggy Simulator fonctionne toujours même après la fermeture de Xcode. Voici donc les étapes:
com.apple.CoreSimulator.CoreSimulatorService
processus dans le moniteur d'activité;la source
D'après mon expérience, vous devriez:
Il fonctionne très bien.
la source
J'ai annulé le commentaire sur la première ligne. Cela a résolu pour moi. Assurez-vous de l'essayer après avoir fermé et relancé Xcode et forcez la fermeture de com.apple.coresimulator à partir du moniteur d'activité
la source
L'ajout de l'importation PlaygroundSupport a résolu le problème pour moi :)
la source
Vous pouvez passer au traitement manuel. Cela a fonctionné pour moi.
la source
Assurez-vous de tuer xcode dans le moniteur d'activité avant de tuer le processus com.apple.CoreSimulator.CoreSimulatorService dans le moniteur d'activité. J'ai essayé de tuer le processus plusieurs fois et je me suis rendu compte que si xcode était toujours en cours d'exécution dans l'activité d'arrière-plan, le processus com.apple.CoreSimulator.CoreSimulatorService réapparaîtrait même lorsque vous venez de le tuer.
la source
J'ai eu le même problème, tout ce que j'ai fait est d'ouvrir l'éditeur d'assistance et tout fonctionne bien avec moi même lorsque j'ai fermé l'éditeur d'assistance! Ne demandez pas pourquoi il s'agissait d'essais et d'erreurs. J'espère que ceci vous aidera
la source
après avoir exécuté un certain temps, vous verrez un message d'erreur, puis vous allez à afficher> zone de débogage> activer la console, puis jouer à nouveau a fonctionné pour moi
la source
Vérifiez le plan de stockage iCloud!
Si vous en avez un, il synchronise constamment tout l'ordinateur, qui comprend les dossiers Bureau et Document. Essayez plutôt de créer un dossier "Fichiers locaux" dans votre dossier Accueil (commande + Maj + h) et conservez vos projets Playground là où ils ne se synchronisent pas avec iCloud.
Cela a fonctionné pour moi, j'espère que cela fonctionnera pour vous aussi! :)
la source
J'utilise Xcode 10.2 et j'obtiens le même problème. Donc, généralement, utilisez simplement Online Swift Playground
Cela sert mes objectifs! :-)
la source
Dans mon cas, le problème était induit par l'utilisateur. J'avais l'éditeur assistant affiché, mais la vue en direct n'a pas été sélectionnée. Assurez-vous que cela ressemble à ceci:
Et pas comme ça:
la source
Cela arrive aussi, comme dans mon cas, lorsque vous avez défini une fonction, mais que vous avez oublié de l'appeler?
la source
Comme si cette question n'avait pas assez de réponses, je fournirai ma "solution" au problème des terrains de jeux Swift bloqués:
La seule solution que j'ai rencontrée et qui fonctionne bien pour moi (je n'ai donc pas à redémarrer Xcode):
Cela fera disparaître la rotation "Running Playground ..." et vous pourrez déclencher une nouvelle exécution. Attention: la prochaine exécution va tourner
launchd_sim
et tous ces processus enfants à nouveau. Il serait probablement préférable de ne tuer que le processus enfant concerné. Mais je ne l'ai pas trouvé jusqu'ici.Mais je ne le fais que lorsque je n'utilise pas les simulateurs iOS en parallèle, car le
launchd_sim
processus est un processus enfant deSimulator
.la source
J'ai supprimé les données dérivées et nettoyer le dossier de construction. Cela fonctionne pour moi. J'étais confronté à Xcode 11.2.1 et Xcode 10.1 sur la même machine.
la source
J'étais confronté au même problème, mais après avoir cherché sur Google et expérimenté un peu, j'ai découvert qu'il fallait toujours
import UIKit
avant d'importer d'autres bibliothèques.la source
Tout d'abord, supprimez la ligne de commentaire intégrée.
Ensuite, même si vous remettez un commentaire de première ligne, cela fonctionne toujours.
la source
Un dernier conseil qui fonctionne pour moi: assurez-vous qu'aucun simulateur iOS n'est en cours d'exécution. Ils sont en conflit les uns avec les autres.
la source