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

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

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

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

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

Ответ 1

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

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

xcrun swift 
lldb --repl

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

Ответ 2

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

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

Ответ 3

Шаг 1: Откройте терминал
Шаг 2: Введите "быстрый"
Шаг 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$ 

Ответ 4

Так же, как запуск Swift из терминала, вы также можете выполнять скрипты. Просто используйте следующую shebang и запустите свой script. (В соответствии с Крисом Латтнером, создателем Swift)

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

Ответ 5

В Xcode 6.1.1 с установленными инструментами командной строки вы можете выполнять скрипты, ссылаясь непосредственно на /usr/bin/swift следующим образом:

#!/usr/bin/swift

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

Ответ 6

Если кто-то заботится о простой Swift script shebang:

#!/usr/bin/env xcrun --sdk macosx swift

Если требуется конкретная целевая версия

#!/usr/bin/env xcrun --sdk macosx swift -target x86_64-macosx10.11

Если требуется специальная toolchain (например, вы хотите использовать 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

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

xcode-select -p

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


как я сначала ответил мне в Запустить swift script из проекта Xcode iOS в качестве фазы сборки

Ответ 7

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

это также можно сделать по предпочтениям xcode. просто перейдите в xcode → настройки → местоположения.

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

command line tools screen

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


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

открыть apple script > вставить этот ниже код и экспортировать его как приложение, так что одним щелчком мыши вы можете переключиться на путь по умолчанию или на бета-путь (для быстрого использования)

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

отказ от ответственности

  • script предполагает, что установлены как xcode6-бета, так и xcode5.
  • Если вы новый разработчик, который пытается использовать только xcode6beta, вам не понадобится ни один script или путь установки вручную. просто запустите xcrun swift, поскольку путь уже установлен для вас.
  • Когда xcode6 наконец-то выпущен, вам понадобится reset ваш путь обратно к по умолчанию из этого простого приложения и никогда не использовать его снова.

Ответ 8

После установки официального выпуска Xcode 6.1 в /usr/bin/swift есть команда 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.

Ответ 9

Команда xcrun будет использовать переменную среды DEVELOPER_DIR для переопределения текущей выбранной установки Xcode (как установлено с помощью xcode-select). Вы можете использовать это для создания единой команды, которая будет быстро запускаться в командной строке и помещает вас в 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"

В качестве интересной заметки вы можете использовать один и тот же вызов для запуска быстрого script, как если бы вы использовали 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".

Ответ 10

убедитесь, что вы устанавливаете 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

Ответ 11

Для 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

Ответ 12

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

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

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

Затем поместите эту строку alias swift='xcrun swift' в ~/.bash_profile

и

$source ~/.bash_profile

$swift

Там вы идете!

Ответ 13

С помощью Swift REPL (Read Eval Print Loop).

Разработчики, знакомые с интерпретируемыми языками, будут чувствовать себя комфортно в этой среде командной строки, и даже опытные разработчики найдут несколько уникальных функций

Запустите Terminal.app, введите swift и нажмите ввод. Тогда вы будете в СВОБОДНОМ РЕПЛЕ.

        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>