터미널에서 스위프트를 어떻게 사용할 수 있습니까?


108

What 's new in Xcode 6을 읽었습니다 . 이 기사는 Xcode 6에 대한 몇 가지 새로운 기능을 소개하며 다음과 같이 말합니다.

명령 줄

Xcode의 디버거에는 REPL (Read-Eval-Print-Loop)이라는 Swift 언어의 대화 형 버전이 포함되어 있습니다. Swift 구문을 사용하여 실행중인 앱을 평가하고 상호 작용하거나 스크립트와 유사한 환경에서 새 코드를 작성합니다. REPL은 Xcode 콘솔의 LLDB 또는 터미널에서 사용할 수 있습니다.

REPL을받는 방법을 알고 싶습니다.


3
여기에 제가 쓴 기사가 있습니다. medium.com/swift-programming/…
Santosh

당신은 또한 당신의 경우처럼 온라인으로 사용할 수 있습니다 repl.it/languages/swift
암 자드 Masad

답변:


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

그런 다음 다음 중 하나를 수행 할 수 있습니다.

xcrun swift 
lldb --repl

Xcode 6.1부터- swift터미널에 입력 하면 REPL도 실행됩니다.


2
... 종료하려면 Ctrl+를 입력하십시오 d.
arve0

57

또는 현재 개발 환경을 엉망으로 만들고 싶지 않다면 다음을 실행할 수 있습니다.

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

30
또는 한 단계 더 나아가 다음 항목에 추가 할 수도 있습니다 ~/.bash_profile.alias swift="/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift"
David Beck

6
OS X SDK를 사용하려면 경로도 지정해야합니다./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
Linus Unnebäck 2014-06-04

아이디어 데이비드에 감사드립니다. 프로필에 추가했지만 해당 파일이나 디렉토리가 바로 거기에 있어도 계속해서 No such file or directory가 표시되고 권한은 -rwxr-xr-x@ 1 mark2 admin 33557440 31 May 14:43 swift. 나는 단위가 그렇게 강하지 않습니다. 누구든지 무엇이 잘못되었는지 볼 수 있습니까?
MarkAurelius

xcrun --find swift경로를 얻는 데 사용 하는 것은 훨씬 더 미래의 증거가 될 것입니다
Mike Weller

1
xcrun --toolchain com.apple.dt.toolchain.Swift_2_3 swift훨씬 더 좋습니다. 여기 원산지 답변 : stackoverflow.com/a/36254848/5768974
올리지

42

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 swiftSwift 2.1부터는 swift명령 줄에서 간단히 실행할 수 있습니다 .
timbo dec

제 예는 2014 년 7 월의 Swift 1.0입니다. 그 이후로 xcrun없이 작동했습니다.
MacMark

15

터미널에서 Swift를 실행하는 것과 같은 방식으로 스크립트를 실행할 수도 있습니다. 다음 shebang을 사용하고 스크립트를 실행하십시오. ( Swift 제작자 Chris Lattner에 따르면)

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

6
XCode 6 Beta 5에 따라 -i플래그가 제거되었으며 오류가 발생합니다. 그냥 놓아두고 #!/usr/bin/env xcrun swift대신 사용하십시오.
Jeehut

엑스 코드 8 스위프트 2.3 재생 싶어 누군가해야하지 미스 stackoverflow.com/a/36254848/1298043
올리지

15

명령 줄 도구가 설치된 Xcode 6.1.1에서는 /usr/bin/swift다음 방법을 직접 참조하여 스크립트를 실행할 수 있습니다 .

#!/usr/bin/swift

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

이것이 신속한 2.1.1 (xcode 7.2 설치)에서 작동하는지 확인하십시오
thibaut noah

1
엑스 코드 8 스위프트 2.3 재생 싶어 누군가해야하지 미스 stackoverflow.com/a/36254848/1298043
올리지

10

누구든지 간단한 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 에서 제공하는 스냅 샷을 사용하려면 여기에서 설치를 놓치지 마십시오 .


빌드 단계로 Xcode iOS 프로젝트에서 신속한 스크립트 실행 에서 내가 처음 답변 한대로


8

** xcode6 베타 4 기준 업데이트 **

이것은 xcode 환경 설정에서도 수행 할 수 있습니다. xcode-> 환경 설정-> 위치로 이동하십시오.

명령 줄 도구의 경우 드롭 다운 목록 옵션에서 원하는 버전을 선택하기 만하면됩니다. 아래 그림을 참조하십시오. (swift는 경로가 xcode6의 경로 여야합니다).

명령 줄 도구 화면

이전 답변도 아래에 남겨 둘 것입니다.


Kaan이 말한 것과 사과 스크립트를 사용하여 간단한 응용 프로그램을 만들 수도 있으므로이 스크립트를 사용하여 앞뒤로 전환 할 수 있습니다.

사과 스크립트를 열고> 코드 아래에 붙여넣고 응용 프로그램으로 내 보내면 한 번의 클릭으로 기본 경로 또는 베타 경로로 전환 할 수 있습니다 (빠른 사용).

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 5를 설치했고 이제 XCode 6으로 "업데이트"(= 교체)했습니다. 5.x를 다시 가져올 수있는 방법이 있습니까? 이 솔루션으로?
Matthias Max

5.x를 다시 가져온다는 것은 무엇을 의미합니까? xcode6 GM 또는 appstore 릴리스가 xcode5를 대체합니다.
nsuinteger 2014 년

6

공식 엑스 코드 6.1 버전을 설치 한 후, 거기 swift에 명령 /usr/bin/swift.

당신이 경로에 애플이 제공하는 파이썬에서 파이썬 다른이있는 경우, 명심 swift와 함께 실패 할 수 있습니다 ImportError: No module named site. 이 경우 export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin를 호출하기 전에 확인하십시오 swift.


5

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"

흥미로운 부수로, -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"만 사용할 수 있습니다.


4

6.1이 아닌 xcode 6.0 을 설치해야합니다.

오류가 발생하는 경우 :

<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 이름을 나열 하려면 " "을 사용하십시오 .

당신이 설치하는 경우 6.1 엑스 코드 , 단지

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

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

1

터미널 열기,

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

주의 사항 :Xcode6-Beta6.app설치 적절한 버전으로 교체해야합니다

그런 다음이 줄 alias swift='xcrun swift'~/.bash_profile

과,

$source ~/.bash_profile

$swift

됐어요!


1

Swift REPL (Read Eval Print Loop)의 도움으로.

통역 언어에 익숙한 개발자는이 명령 줄 환경에서 편안함을 느끼고 숙련 된 개발자도 몇 가지 고유 한 기능을 찾을 수 있습니다.

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>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.