如何在终端中使用swift?

时间:2014-06-03 09:04:36

标签: xcode swift terminal read-eval-print-loop

我读了What's new in Xcode 6。本文介绍了一些关于Xcode 6的新功能,它说:

  

命令行

     

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

我想知道如何获取REPL?

13 个答案:

答案 0 :(得分:135)

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

然后你可以做其中一个:

xcrun swift 
lldb --repl

从Xcode 6.1开始 - 在终端中输入swift也会启动REPL。

答案 1 :(得分:58)

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

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

答案 2 :(得分:40)

步骤1:打开终端
第2步:键入" swift"
第3步:没有第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$ 

答案 3 :(得分:15)

与从终端运行Swift的方式相同,您也可以执行脚本。 只需使用以下shebang,然后运行您的脚本。 (As per Chris Lattner,斯威夫特的创造者)

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

答案 4 :(得分:15)

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

#!/usr/bin/swift

let variable: String = "string"
print("Test \(variable)")

答案 5 :(得分:9)

如果有人关心一个简单的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提供的快照,请不要错过Installation here

我在Run swift script from Xcode iOS project as build phase

中首先回答

答案 6 :(得分:8)

**更新xcode6 beta 4 **

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

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

command line tools screen

我也会在下面留下我之前的答案。


Kaan说过,您也可以使用苹果脚本制作简单的应用程序,以便您可以使用它来回切换。

打开苹果脚本>粘贴下面的代码&将其导出为应用程序,只需单击一下即可切换到默认路径或beta路径(使用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&amp; xcode5已安装。
  2. 如果您是一名新开发人员,他正在尝试 xcode6beta,则您不需要手动执行任何脚本或设置路径。只需运行xcrun swift,因为已经为您设置了路径。
  3. 当xcode6最终发布时,您需要将此路径从此简单应用重置为默认,并且永远不要再使用它。

答案 7 :(得分:6)

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

请记住,如果您在路径中使用与Apple提供的Python不同的Python,则swift可能会因ImportError: No module named site而失败。在这种情况下,请确保在致电export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin之前执行swift

答案 8 :(得分:5)

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"

作为一个有趣的旁注,您可以使用相同类型的调用来运行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”。

答案 9 :(得分:4)

确保安装 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

使用&#34; xcodebuild -showsdks&#34;列出可用的SDK名称。

如果您安装 xcode 6.1 ,只需

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

答案 10 :(得分:2)

对于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

答案 11 :(得分:1)

打开终端,

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

注意: Xcode6-Beta6.app应更换为您安装的相应版本

然后将此行alias swift='xcrun swift'添加到~/.bash_profile

$ source ~/.bash_profile

$ swift

你去吧!

答案 12 :(得分:1)

借助Swift REPL(读取评估打印循环)。

熟悉解释型语言的开发人员将在此命令行环境中感到舒适,甚至有经验的开发人员也将发现一些独特的功能

启动Terminal.app,然后输入swift并按Enter。然后,您将进入Swift REPL。

        1> print("Hello Swift REPL")
     Hello Swift REPL
        2> 10 + 20
     $R0: Int = 30
        3> var name = "Yogendra Singh"
     name: String = "Yogendra Singh"
        4> print(name)
     Yogendra Singh
        5>