Jedes Mal, wenn ich einen neuen Spielplatz erstelle, um Code zu testen, bleibt Xcode hängen und führt den Code nicht aus. Es wird einfach oben auf dem Bildschirm die Anweisung 'Running playground' oder 'Launching simulator' mit dem Ladesymbol angezeigt, das sich vielversprechend dreht, aber es passiert nichts. Manchmal wird dies auf unbestimmte Zeit fortgesetzt und manchmal wird Xcode angehalten und auf der Konsole ausgegeben:
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
Ich verwende Xcode 8.0 (8A218a) auf macOS Sierra 10.12.
Hardware :
MacBook Pro (13 "Mitte 2012)
2,5 GHz Intel Core i5
4 GB 1600 MHz Ram DDR3
Ich habe mich umgesehen, aber zumindest keiner dieser Threads hat eine Antwort geliefert:
https://forums.developer.Apple.com/thread/5902
https://github.com/jas/playground/issues/9
Dinge, die ich bereits ohne Erfolg ausprobiert habe:
Haben Sie Ideen, wie Sie dieses Problem lösen können? Ich bin neu in der Programmierung und versuche eifrig zu lernen Swift aber Xcode macht es praktisch unmöglich ...
Vielen Dank im Voraus, Prost.
Ans. Zur macOS-Plattform wechseln
Wenn Sie einen Spielplatz erstellen, wird standardmäßig die iOS-Plattform ausgewählt und UIKit automatisch importiert. Es ist das UIKit, das die ganze Zeit abstürzt und hängen bleibt . Wenn Ihr (Übungs-) Code UIKit nicht verwendet, können Sie zur MacOS-Plattform wechseln . Als großer (nicht exakter) Unterschied zwischen iOS und macOS gibt es in APPKit und UIKit.
Klicken Sie in der oberen rechten Ecke Ihres Xcode-Spielplatzes auf Dienstprogramme anzeigen/verbergen -> Dateiinspektor -> Spielplatzeinstellung -> Plattform -> macOS
Ich habe Folgendes versucht und es hat bei mir funktioniert:
In meinem Fall, Xcode 8.3.2, funktioniert es, wenn ich es wie folgt versuche:
Der Hauptprozess von Buggy Simulator funktioniert auch nach dem Schließen von Xcode noch. Also hier sind die Schritte:
com.Apple.CoreSimulator.CoreSimulatorService
Prozess im Aktivitätsmonitor;Nach meiner Erfahrung sollten Sie:
Es funktioniert sehr gut.
Ich habe den Kommentar in der ersten Zeile storniert. Es hat sich für mich gelöst. Probieren Sie es unbedingt aus, nachdem Sie Xcode geschlossen und neu gestartet haben, und beenden Sie com.Apple.coresimulator über Activity Monitor
Das Hinzufügen von import PlaygroundSupport löste das Problem für mich :)
Ich hatte das gleiche Problem. Alles, was ich getan habe, ist, den Assistenz-Editor zu öffnen. Bei mir funktioniert alles einwandfrei, auch wenn ich den Assistenz-Editor geschlossen habe! Fragen Sie nicht, warum es Versuch und Irrtum war. Hoffe das wird dir helfen
Stellen Sie sicher, dass Sie xcode im Aktivitätsmonitor beenden, bevor Sie com.Apple.CoreSimulator.CoreSimulatorService im Aktivitätsmonitor beenden. Ich habe mehrmals versucht, den Prozess zu beenden, und festgestellt, dass der Prozess com.Apple.CoreSimulator.CoreSimulatorService auch dann erneut angezeigt wird, wenn Sie ihn gerade beendet haben, wenn xcode noch in der Hintergrundaktivität ausgeführt wird.
Ich verwende Xcode 10.2 und bekomme das gleiche Problem. Verwenden Sie also im Allgemeinen einfach Online Swift Playground
Das dient meinen Zwecken! :-)
nach einer Weile wird eine Fehlermeldung angezeigt. Gehen Sie dann zu Ansicht> Debug-Bereich> Konsole aktivieren und spielen Sie erneut, was für mich funktioniert hat