我如何在terminal中使用swift?

我读了Xcode 6中的新function 。 文章介绍了一些关于Xcode 6的新特性,它说:

命令行

Xcode的debugging器包含Swift语言的交互式版本,称为REPL(Read-Eval-Print-Loop)。 使用Swift语法评估并与正在运行的应用程序交互,或在类似脚本的环境中编写新代码。 REPL可以从XLD控制台的LLDB内部或terminal上获得。

我想知道如何获得REPL?

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer 

那么你可以做一个这样的:

 xcrun swift lldb --repl 

从Xcode 6.1开始,在terminal中inputswift也会启动REPL。

或者,如果您不想搞乱当前的开发环境,则可以运行:

 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift 

第1步:打开terminal
第二步:input“swift”
第三步:没有第三步

例:

 GoldCoast:~ macmark$ swift Welcome to Swift! Type :help for assistance. 1> println("Hello, world") Hello, world 2> var myVariable = 42 myVariable: Int = 42 3> myVariable = 50 4> let myConstant = 42 myConstant: Int = 42 5> println(myVariable) 50 6> let label = "The width is " label: String = "The width is " 7> let width = 94 width: Int = 94 8> let widthLabel = label + String(width) widthLabel: String = "The width is 94" 9> :exit GoldCoast:~ macmark$ 

与从terminal运行Swift一样,您也可以执行脚本。 只要使用下面的shebang,并运行你的脚本。 ( 根据 Swift的创始人Chris Lattner )

 #!/usr/bin/env xcrun swift -i 

在安装了Command Line Tools的Xcode 6.1.1中,您可以通过以下方式直接引用/usr/bin/swift来执行脚本:

 #!/usr/bin/swift let variable: String = "string" print("Test \(variable)") 

**更新xcode6 beta 4 **

这也可以在xcode首选项上完成。 只需转到xcode – >首选项 – >位置。

对于命令行工具,只需从下拉列表选项中select所需的版本,请参阅下面的图片。 (swift需要path是xcode6的path)。

命令行工具屏幕

我也将下面的答案留在下面。


Kaan说什么,你也可以使用苹果脚本来做简单的应用程序,所以你可以使用它来回切换。

打开苹果脚本>粘贴下面的代码和导出它作为一个应用程序,只需点击一下,你可以切换到默认path或testing版path(使用SWIFT)

 set xcode6Path to "xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer" set xcodeDefaultPath to "xcode-select -switch /Applications/Xcode.app/Contents/Developer" display dialog "set xcode sdk path to " buttons {"xcode 6", "default"} default button 1 copy result as list to {buttonPressed} if buttonPressed is "default" then try do shell script xcodeDefaultPath with administrator privileges end try else try do shell script xcode6Path with administrator privileges end try end if 

然后运行> xcrun swift

放弃

  1. 该脚本假定您已经安装了xcode6-beta&xcode5。
  2. 如果您是尝试xcode6beta的新开发人员,则不需要任何脚本或手动设置path。 只需运行xcrun swift因为path已经为您设置。
  3. 当xcode6最终被释放时,您将需要从这个简单的应用程序重置您的path默认 ,并不再使用它。

如果有人关心一个简单的Swift脚本shebang:

 #!/usr/bin/env xcrun --sdk macosx swift 

如果需要特定的目标版本

 #!/usr/bin/env xcrun --sdk macosx swift -target x86_64-macosx10.11 

如果需要特定的工具链(就像你想使用Swift 2.3,但你使用的是Xcode 8)

 #!/usr/bin/env xcrun --toolchain com.apple.dt.toolchain.Swift_2_3 --sdk macosx swift -target x86_64-macosx10.11 

如果你想在Xcode 7.3.1中使用Swift 2.2,那么假设Xcode 7.3.1位于/Applications/Xcode7.app

 sudo xcode-select -s /Applications/Xcode7.app/ xcrun --sdk macosx swift 

从现在开始,默认的活动开发者目录改变了,你可以使用:

 xcode-select -p 

如果你想使用Swift.org提供的快照,你不应该错过这里的安装 。


首先在Xcode iOS项目中运行swift脚本,作为构build阶段

安装官方的Xcode 6.1版本之后,在/usr/bin/swift有一个swift命令。

请记住,如果在path中有一个与Apple提供的Python不同的Python,则swift可能会因ImportError: No module named site失败而失败ImportError: No module named site 。 在这种情况下,确保在调用swift之前, swift export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin

xcrun命令将使用DEVELOPER_DIR环境variables来覆盖当前select的Xcode安装(用xcode-select设置)。 您可以使用它来构build一个命令行中快速运行的命令,并将其放入REPL中。 看起来像这样:

 /usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift 

而且你可以将其简化为“快速”:

 alias swift="/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift" 

作为一个有趣的方面说明,您可以使用相同types的调用来运行swift脚本,就像使用bash或python添加-i一样:

 #!/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift -i println("Hello World!") 

当然,一旦Xcode 6正式发布,并切换到默认的开发工具,您可以放弃DEVELOPER_DIR = ..位,只使用“xcrun swift”。

确保你安装了xcode 6.0 ,而不是6.1

如果你得到一个错误:

 <unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift 

赶紧跑

 xcrun --sdk iphonesimulator8.0 swift 

或者你可以

 export SDKROOT="iphonesimulator8.0" 

接着

 xcrun swift 

使用“ xcodebuild -showsdks ”列出可用的SDK名称。

如果你安装xcode 6.1 ,只需

 sudo xcode-select -s /Applications/*your-Xcode-6.1-path.app*/Contents/Developer xcrun swift 

对于XCode6,请运行以下命令:

 $ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer/ $ xcrun swift 

如果你得到一个错误:

 <unknown>:0: error: the SDK 'MacOSX10.9.sdk' does not support Swift 

尝试:

 xcrun swift -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk 

打开terminal,

$ sudo xcode-select -switch /Applications/Xcode6-Beta6.app/Contents/Developer

注意: Xcode6-Beta6.app应该replace成你安装的相应版本

然后把这个行alias swift='xcrun swift'~/.bash_profile

和,

$ source ~/.bash_profile

$ swift

你走了!