Как использовать swift в терминале?

Я прочитала Что нового в Xcode 6. В статье представлена новая функция о Xcode 6, и в ней говорится:

Командная Строка

отладчик Xcode включает интерактивную версию языка Swift, известную как REPL (Read-Eval-Print-Loop). Используйте синтаксис Swift для оценки и взаимодействия с запущенным приложением или написания нового кода в среде, подобной скрипту. REPL доступен из LLDB в консоли Xcode или из Терминал.

Я хочу знать, как получить REPL?

12 ответов


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

тогда вы можете сделать один из следующих:

xcrun swift 
lldb --repl

начиная с Xcode 6.1-ввод swift в терминале также запускается REPL.


кроме того, если вы не хотите испортить текущую среду разработки, вы можете просто запустить:

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

Шаг 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$ 

таким же образом, как и запуск Swift из терминала, вы также можете выполнять сценарии. Просто используйте следующий shebang и запустите сценарий. (согласно Chris Lattner, создатель Swift)

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

в 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

если вы хотите использовать Swift 2.2 в своем Xcode 7.3.1, предположим, что Xcode 7.3.1 находится в /Applications/Xcode7.app

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

теперь по умолчанию active developer directory изменен, вы можете проверить что использовать:

xcode-select -p

если вы хотите использовать снимки, предоставленные Swift.org, Вы не должны пропустить здесь.


как впервые ответил Мне в запустите swift-скрипт из проекта Xcode iOS как этап сборки


** обновление с xcode6 beta 4**

Это также можно сделать в настройках xcode. просто перейдите в Xcode -> настройки -> местоположения.

для инструментов командной строки просто выберите нужную версию из выпадающего списка, см. рисунок ниже. (Свифт требует путь путь xcode6-х).

command line tools screen

Я также оставлю свой предыдущий ответ ниже.


что сказал Каан, и вы также можете использовать сценарий apple для сделайте простое приложение, чтобы вы могли использовать его для переключения вперед и назад.

открыть Apple script > вставить это ниже кода и экспортировать его в качестве приложения, так что с помощью всего одного клика вы можете переключиться на путь по умолчанию или бета-версии (использовать 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 вам не понадобится скрипт или установка пути вручную. просто беги xcrun swift поскольку путь уже установлен для вас.
  3. когда xcode6, наконец, выпущен вам нужно будет сбросить свой путь обратно в по умолчанию С помощью этого простого приложения и никогда не использовать его.

после установки официального выпуска Xcode 6.1, есть на /usr/bin/swift.

имейте в виду, что если у вас есть Python, отличный от поставляемого Apple Python в пути,swift не с ImportError: No module named site. В этом случае, убедитесь, что вы делаете export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin перед вызовом swift.


команда 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, добавив a-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

открыть терминал,

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

обратите внимание: на Xcode6-Beta6.app должен быть заменен на соответствующую версию, которую вы установили

тогда поставьте эту строку alias swift='xcrun swift' to ~/.bash_profile

и

$source ~/.bash_profile

$swift

там вы идете!