我阅读了Xcode 6的新增功能。本文介绍了有关Xcode 6的一些新功能,并说:
命令行
Xcode的调试器包括Swift语言的交互式版本,称为REPL(Read-Eval-Print-Loop)。使用Swift语法来评估正在运行的应用程序并与之交互,或者在类似脚本的环境中编写新代码。REPL可从Xcode控制台的LLDB或Terminal中获得。
我想知道如何获得REPL?
我阅读了Xcode 6的新增功能。本文介绍了有关Xcode 6的一些新功能,并说:
命令行
Xcode的调试器包括Swift语言的交互式版本,称为REPL(Read-Eval-Print-Loop)。使用Swift语法来评估正在运行的应用程序并与之交互,或者在类似脚本的环境中编写新代码。REPL可从Xcode控制台的LLDB或Terminal中获得。
我想知道如何获得REPL?
Answers:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
那么您可以执行以下操作之一:
xcrun swift
lldb --repl
从Xcode 6.1开始swift
,在终端中键入也会启动REPL。
Ctrl
+ d
。
另外,如果您不想弄乱当前的开发环境,则可以运行:
/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"
/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
-rwxr-xr-x@ 1 mark2 admin 33557440 31 May 14:43 swift
。我的单位不那么强。谁能看到哪里出了问题?
xcrun --find swift
路径将是未来的更多证据
xcrun --toolchain com.apple.dt.toolchain.Swift_2_3 swift
好多了。原始答案在这里:stackoverflow.com/a/36254848/5768974
步骤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$
xcrun swift
,但从Swift 2.1开始,您可以仅从命令行运行swift
。
与从终端运行Swift一样,您也可以执行脚本。只需使用以下shebang,然后运行您的脚本即可。(根据 Swift的创建者Chris Lattner的说法)
#!/usr/bin/env xcrun swift -i
-i
标志已删除,将导致错误。随它去使用吧#!/usr/bin/env xcrun swift
。
在安装了命令行工具的Xcode 6.1.1中,您可以通过直接引用/usr/bin/swift
以下方式来执行脚本:
#!/usr/bin/swift
let variable: String = "string"
print("Test \(variable)")
如果有人在乎一个简单的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。
正如我最初在Xcode iOS项目中运行swift脚本作为构建阶段回答的那样
**自xcode6 beta 4起更新**
这也可以在xcode首选项上完成。只需转到xcode->首选项->位置。
对于命令行工具,只需从下拉列表选项中选择所需的版本,请参见下图。(swift要求路径是xcode6的路径)。
我也将下面的答案留在下面。
凯恩(Kaan)所说的话,您还可以使用Apple脚本来制作简单的应用程序,以便可以使用它来回切换。
打开苹果脚本>将此代码粘贴以下代码并将其导出为应用程序,因此只需单击一下即可切换到默认路径或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
免责声明
xcrun swift
按照已为您设置的路径运行即可。xcrun命令将使用DEVELOPER_DIR环境变量来覆盖当前选择的Xcode安装(由xcode-select设置)。您可以使用它来构造一个命令,该命令将在命令行上快速运行并将您放入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脚本,就像您通过添加-i来使用bash或python一样:
#!/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
借助Swift REPL(读取Eval打印循环)。
熟悉解释型语言的开发人员在此命令行环境中会感到很舒服,即使是经验丰富的开发人员也会发现一些独特的功能
启动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>