我可以将项目代码导入Swift REPL吗?

Bil*_*ill 10 xcode swift swift-playground

Swift REPL很棒,但如果我可以从Xcode项目导入类,那就更好了.我尝试切换到我的项目目录并运行

$ swift
> import ProjectName
Run Code Online (Sandbox Code Playgroud)

但我得到了:

error: no such module 'ProjectName'
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?

GoZ*_*ner 14

Swift REPL包含许多不同的选项.用swift -help来看他们.对于您的情况,如果您已定义ProjectName为框架目标,并且在目标中您已声明'定义模块',则可以使用以下命令访问它:

$ swift -F <install path with subdirectory ProjectName.framework>
> import ProjectName
Run Code Online (Sandbox Code Playgroud)

这是一个例子:

$ swift -F /Users/.../Library/Developer/Xcode/DerivedData/Opus-bsjennhdtvmqrhejuabovdyxlqte/Build/Products/Debug/
Welcome to Swift!  Type :help for assistance.
  1> import OpusOSX
  2> version                    // var from framework
$R0: String = "Opus 1.0"
  3> any([1,3]) { 0 == $0 % 2 } // 'any()' in framework
$R1: Bool = false
  4> any([1,2,3]) { 0 == $0 % 2 } 
$R2: Bool = true
  4> any([1,2,3,4], conjoin ({ 0 == $0 % 2 }, { $0 >= 3 })) 
$R3: Bool = true
Run Code Online (Sandbox Code Playgroud)