web-dev-qa-db-fra.com

Swift Playground ne montre pas les erreurs

Je commence Swift et j'utilise des tutoriels dans les terrains de jeux Swift pour macOS.

Donc, exemple de code serait

var str = "Hello, playground"
str
str1

Je ne reçois aucune information d'erreur rouge sur la chaîne 1. Juste un crash dans la console

Playground execution failed: error: MyPlayground.playground:1:1: 
error: use of unresolved identifier 'str1'
str1
^~~~


* thread #1, queue = 'com.Apple.main-thread', stop reason = breakpoint 1.1
   * frame #0: 0x0000000102157360 com.Apple.dt.Xcode.PlaygroundStub-macosx`executePlayground
     frame #1: 0x000000010215522a com.Apple.dt.Xcode.PlaygroundStub-macosx`-[PlaygroundViewBridgeService execute] + 90

Si je corrige le code, le terrain de jeu s'actualise et affiche de nouvelles données. Il ne signale simplement pas les erreurs.

Comment puis-je empêcher Xcode de planter et me comporter comme indiqué?

Xcode version 8.3 (8E162) macOS 10.12.4

J'ai essayé de supprimer tous les fichiers Xcode (y compris ceux créés lors de la construction) et de réinstaller et d'utiliser un autre utilisateur

7
Mark

En fait, un terrain de jeu affiche le "erreur de marque rouge sur le côté gauche du code" et il existe également une option automatique pour corriger l'erreur, tout comme les projets classiques.

 enter image description here

J'ai eu le même problème que vous (les marques rouges n'apparaissaient pas à gauche). Ce qui a résolu pour moi: 

  1. Faites un clic droit sur l'erreur dans le navigateur de problèmes (en haut à gauche).
  2. Sur le menu> Ouvrir en tant que> Aperçu rapide
  3. Puis refaites la même commande et ouvrez en tant que> Playground Page

Je suis sur Xcode 8.3.2

Update: Same est valable pour Xcode 9.0

18
Marcos Reboucas

Dans le navigateur de problème, cliquez avec le bouton droit de la souris sur l'erreur -> ouvrir rapidement, puis sélectionnez-la de nouveau pour l'ouvrir en tant que terrain de jeu. Ça marche pour moi.

9
batman

Fichier -> Paramètres du terrain de jeu
check afficher les numéros en direct du code source
sélectionnez montrer tous les problèmes bouton radial

En fait, à compter du 3/2017, Xcode affichait des erreurs en ligne sur le terrain de jeu, exactement comme dans un projet lors de l'édition d'un fichier. Ce comportement a changé dans une mise à jour récente, même si je ne le vois pas documenté. J'ai supposé qu'il s'agissait d'un bogue introduit avec le dernier correctif, ou peut-être qu'un paramètre par défaut a été modifié et peut être modifié.

Edit: En fait, je viens d’ouvrir un terrain de jeu que j’ai créé avant le patch, et les erreurs s’affichant en ligne  Show example of it working

Les réglages sont  Settings needed

2
froggomad

Parfois, cette fonctionnalité fonctionne, mais le plus souvent, elle ne fonctionne pas. Xcode 8.3.3 a été très bogué avec cette fonctionnalité et m'a fait éviter d'utiliser Playgrounds.

Voici un écran quand cela fonctionne dans Xcode 9 Beta 6:  enter image description here

Quitter et rouvrir Xcode semble aider à le faire fonctionner à nouveau, mais les outils semblent se confondre assez facilement alors que j'expérimente avec du code.

Lorsque je perturbe le code, cela cause des problèmes, Playgrounds cesse de tenter de recompiler, puis une boucle de retour périmée et je n'ai aucune idée si le code fonctionne ou non.

... quelques instants après avoir travaillé sur un terrain de jeu sous Xcode 9 Beta 6, il a cessé de fonctionner. Les erreurs ont cessé d’afficher en ligne, je vous recommande donc de déposer davantage de rapports de bogues sur http://bugreport.Apple.com

1
Paul Solt

Supprimer des données dérivées et quitter Xcode a fonctionné pour moi.

0
guptron