在Swift Playground中没有这样的模块'Cocoa'

Cha*_*gan 32 swift swift-playground

我正在尝试遵循WWDC playgrounds会话中使用的一些代码,我正在尝试导入Cocoa框架:

import Cocoa
Run Code Online (Sandbox Code Playgroud)

但是我在助理编辑器中收到以下错误

Playground execution failed: error: <REPL>:3:8: error: no such module 'Cocoa'
Run Code Online (Sandbox Code Playgroud)

我在视频中的时间是41:20,如果这有帮助的话.

Mat*_*son 87

您正在使用iOS游乐场(基于UIKit),而不是OS X游乐场(基于Cocoa).尝试创建一个新的游乐场并选择"OS X"作为类型而不是"iOS".之后应该可以正常工作.

您还可以在Playground Settings→Platform下的File Inspector(View→Inspectors→Show File Inspector)中更改现有游乐场的类型.

默认情况下,使用样板包创建新的iOS游乐场import UIKit; OS X游乐场是用样板文件创建的import Cocoa,所以如果你发现自己手动输入" import Cocoa",这可能是你得到错误类型的线索.


Jay*_*Jay 15

如果您在操场设置正确的情况下遇到此类或类似错误,请尝试以下操作:

关闭XCode并从终端运行:

 rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
Run Code Online (Sandbox Code Playgroud)

然后重新打开XCode,大多数时候这修复了许多Playground问题.我在密集的Playground工作会话期间经常运行此命令(有时多达每小时几次)并且已经发现自由使用删除ModuleCache来解决许多奇怪的游乐场行为.

如果您仍然遇到游乐场问题,可以尝试:

rm -rf ~/Library/Developer/Xcode/DerivedData
Run Code Online (Sandbox Code Playgroud)

和/或

rm -rf ~/Library/Caches/com.apple.dt.Xcode
Run Code Online (Sandbox Code Playgroud)