【发布时间】:2017-02-20 01:04:37
【问题描述】:
每次我创建一个新的 Playground 来测试一些代码时,Xcode 都会卡住并且无法运行代码。它只是在屏幕顶部显示“正在运行的游乐场”或“启动模拟器”语句,加载图标有望在其旁边旋转,但没有任何反应。有时这会无限期地持续下去,有时 Xcode 会停止并将其打印到控制台:
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
我在 macOS Sierra 10.12 上运行 Xcode 8.0 (8A218a)。
硬件:
MacBook Pro(13 英寸,2012 年中)
2,5 GHz 英特尔酷睿 i5
4 GB 1600 MHz 内存 DDR3
我环顾四周,但至少这些帖子都没有提供答案:
https://forums.developer.apple.com/thread/5902
https://github.com/jas/playground/issues/9
我已经尝试过零成功的事情:
- 重启 Xcode
- 重新安装 Xcode(降级到 7.3 但因为这对我没有帮助 升级回 8.0)
- 重启机器
- 创建一个新的游乐场
您对如何解决此问题有任何想法吗?我是编程新手,急切地想学习 Swift,但 Xcode 让这几乎不可能......
提前谢谢你,干杯。
【问题讨论】:
-
感谢您的快速回复。我使用 Playground 只是因为我实际上在 Treehouse.com 上订阅了一个活跃的用户,他们鼓励在测试新概念时使用 Playground。
-
我明白,但我的想法是,你“急切地想学习 Swift”,现在你被卡住了。如果您可以创建一个新的应用程序项目并运行它,则可以继续。现在,如果您也无法运行应用程序项目,那么您将遇到更深层次的问题。 :)
-
这绝对是真的。感谢您的输入马特,只要没有更好的解决方案,我就会按照您的建议做。尽管如此,如果有人找到解决方案,我仍会保持此线程处于活动状态。
-
@EmilOsvald,我在这里没有任何建议。我可以报告这在我的 MacBook 上也经常发生(并且在我使用 iMac 时也经常发生,所有带有最新更新的新机器)。您不应该因为想要使用 Playgrounds 而感到自责。从理论上讲,它们是一个很棒的产品,而且当它们起作用时,它们就是。
-
第一条注释前不能有空格(如果第一行是注释的话),也不能有空行作为第一行。告诉我。