命令行
Xcode的调试器包括Swift语言的交互式版本,称为REPL(Read-Eval-Print-Loop)。使用Swift语法来评估和与正在运行的应用程序进行交互或在类似脚本的环境中编写新代码。REPL可以从Xcode控制台中的LLDB或从终端中访问。
我想知道如何获取REPL?
命令行
Xcode的调试器包括Swift语言的交互式版本,称为REPL(Read-Eval-Print-Loop)。使用Swift语法来评估和与正在运行的应用程序进行交互或在类似脚本的环境中编写新代码。REPL可以从Xcode控制台中的LLDB或从终端中访问。
我想知道如何获取REPL?
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
然后你可以选择以下其中之一:
xcrun swift
lldb --repl
从 Xcode 6.1 开始,在终端中键入 swift
也会启动 REPL。
Ctrl
+d
。 - arve0或者,如果你不想破坏你现有的开发环境,你可以运行:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
~/.bash_profile
文件中:alias swift="/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift"
。 - David Beck/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -sdk /Applications/Xcode6-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
- Linus Unnebäck-rwxr-xr-x@ 1 mark2 admin 33557440 31 May 14:43 swift
。我对单元测试不是很熟悉,有人能看出问题在哪里吗? - MarkAureliusxcrun --find swift
获取路径将更具有未来性。 - Mike Wellerxcrun --toolchain com.apple.dt.toolchain.Swift_2_3 swift
更好。原始答案在这里:https://dev59.com/C2Ag5IYBdhLWcg3wE3jQ#36254848 - Puttin步骤1:打开终端
步骤2:输入"swift"
步骤3:没有第三步
示例:
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$
swift repl
- undefined/usr/bin/swift
来执行脚本:
在Xcode 6.1.1中安装命令行工具后,您可以通过直接引用/usr/bin/swift
来执行脚本:
#!/usr/bin/swift
let variable: String = "string"
print("Test \(variable)")
与从终端中运行Swift相同的方式,您也可以执行脚本。 只需使用以下shebang,并运行您的脚本。(根据Swift创始人Chris Lattner的说法)
#!/usr/bin/env xcrun swift -i
-i
标志已被移除并且会导致错误。放弃使用该标志,改用#!/usr/bin/env xcrun swift
代替。 - Jeehut如果有人需要一个简单的 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提供的快照,请务必不要错过这里的安装说明。
正如我在“Run swift script from Xcode iOS project as build phase”中所回答的那样。
**截止到xcode6 beta 4的更新**
这也可以在xcode偏好设置中完成。只需转到xcode -> 偏好设置 -> 位置。
对于命令行工具,只需从下拉列表选项中选择您想要的版本,参见下图。(Swift需要路径为xcode6的路径)。
我也将保留我的先前答案。
Kaan所说的方法已经可以使用,你也可以使用Apple脚本制作一个简单的应用程序,这样你就可以轻松地切换回默认路径或beta路径(以使用Swift)。
打开Apple脚本>粘贴以下代码并将其导出为应用程序,这样您只需单击一下即可切换到默认路径或beta路径。
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
免责声明
xcrun swift
,因为路径已经为您设置好了。/usr/bin/swift
中有一个swift
命令。swift
可能会出现错误,错误信息为ImportError: No module named site
。在这种情况下,请确保在调用swift
之前执行export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
。xcrun命令将使用DEVELOPER_DIR环境变量来覆盖当前选择的Xcode安装(如xcode-select所设置)。您可以使用它来构建一个单一的命令,该命令将在命令行上运行swift并将您置于REPL中。命令如下:
/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift
你可以将它别名为'swift':
alias swift="/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift"
有趣的是,你可以通过添加-i参数来运行Swift脚本,就像使用Bash或Python一样:
#!/usr/bin/env DEVELOPER_DIR=/Applications/Xcode6-Beta.app/Contents/Developer xcrun swift -i
println("Hello World!")
请确保安装的是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