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


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

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

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

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

12 105

12 ответов:

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

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

xcrun swift 
lldb --repl

начиная с Xcode 6.1-typing 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 и запустите свой скрипт. (Как за Криса 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- > настройки - > места.

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

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

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

и

$source ~/.bash_profile

$swift

вот так!