我如何在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
放弃
- 该脚本假定您已经安装了xcode6-beta&xcode5。
- 如果您是只尝试xcode6beta的新开发人员,则不需要任何脚本或手动设置path。 只需运行
xcrun swift
因为path已经为您设置。 - 当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
你走了!