사용중인 Swift 버전을 어떻게 확인합니까?
방금 Xcode에서 새로운 Swift 프로젝트를 만들었습니다. 사용중인 Swift의 버전이 궁금합니다.
Xcode 또는 터미널에서 프로젝트에서 사용중인 Swift 버전을 어떻게 확인할 수 있습니까?
프로젝트 빌드 설정에는 Swift Language Version에 대한 정보를 키-값 형식으로 저장하는 'Swift Compiler-Languages'블록이 있습니다. Xcode 및 활성 버전에 대해 사용 가능한 (지원되는) Swift 언어 버전과 눈금 표시도 함께 표시됩니다.
프로젝트 ► (프로젝트 대상 선택) ► 빌드 설정 ► (검색 막대에 'swift_version'을 입력하십시오.) Swift Compiler Language ► Swift Language Version ► 언어 목록을 클릭하여 엽니 다 (그리고 목록 중 하나에 체크 표시가 나타납니다) -항목, 현재 빠른 버전이 될 것입니다).
이해하기 쉽게이 스냅 샷을보십시오.
프로그래밍 방식으로 다음 코드를 사용하면 프로젝트에서 지원하는 Swift 버전을 찾을 수 있습니다.
#if swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.2)
print("Hello, Swift 4.2")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.2)
print("Hello, Swift 3.2")
#elseif swift(>=3.0)
print("Hello, Swift 3.0")
#elseif swift(>=2.2)
print("Hello, Swift 2.2")
#elseif swift(>=2.1)
print("Hello, Swift 2.1")
#elseif swift(>=2.0)
print("Hello, Swift 2.0")
#elseif swift(>=1.2)
print("Hello, Swift 1.2")
#elseif swift(>=1.1)
print("Hello, Swift 1.1")
#elseif swift(>=1.0)
print("Hello, Swift 1.0")
#endif
다음은 Playground를 사용한 결과입니다 ( Xcode 11.x 사용 ).
내가하는 일은 터미널에서 말합니다 :
$ xcrun swift -version
Xcode 6.3.2의 출력은 다음과 같습니다.
Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)
물론 xcrun
Xcode 사본을 올바르게 가리키고 있다고 가정 합니다. 나처럼 여러 버전의 Xcode를 저글링하는 경우 걱정할 수 있습니다! 그것이 맞는지 확인하려면
$ xcrun --find swift
Xcode의 경로를 살펴보십시오. 예를 들면 다음과 같습니다.
/Applications/Xcode.app/...
그것이 Xcode 인 경우 출력 -version
은 정확합니다. 을 다시 지정해야하는 경우 xcrun
Xcode의 위치 환경 설정 패널에서 명령 행 도구 팝업 메뉴를 사용하십시오.
터미널을 열고 다음을 작성하십시오.
swift -version
Xcode 8.3부터는 대상이 사용하는 신속한 버전의 가치 Build Settings
가있는 열쇠 Swift Language Version
가 있습니다.
For older Xcodes use this solution, open terminal and type following command(s)
Case 1: You have installed only one Xcode App
swift -version
Case 2: You have installed multiple Xcode Apps
Switch
active developer directory
(ReplaceXcode_7.3.app
from following command with your Xcode app file name from Application directory for which you want to check swift version)sudo xcode-select --switch /Applications/Xcode_7.3.app/Contents/Developer
Then
swift -version
NOTE: From Xcode 8 to Xcode 8.2.x you can use swift 2.3 even though Xcode 8 uses swift 3.x as default swift version. To use swift 2.3, just turn on flag Use Legacy Swift Language Version
to YES
from Build Setting
and XCode will use Swift 2.3 for that project target.
You can see and select which Swift version Xcode is using in:
Target -> Build Settings -> Swift Language Version:
This is available in Xcode 8.3 and Xcode 9 (haven't checked older versions)
This reddit post helped me: https://www.reddit.com/r/swift/comments/4o8atc/xcode_8_which_swift/d4anpet
Xcode 8 uses Swift 3.0 as default. But you can turn on Swift 2.3. Go to project's Build Settings and set 'Use Legacy Swift Language Version' to YES.
Good old reddit :)
To see the default version of swift installed on your machine then from the command line, type the following :
swift --version
Apple Swift version 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2)
Target: x86_64-apple-darwin17.6.0
This is most likely the version that is included in the app store version of Xcode that you have installed (unless you have changed it).
If you want to determine the actual version of Swift being used by a particular version of Xcode (a beta, for instance) then from the command line, invoke the swift binary within the Xcode bundle and pass it the parameter --version
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version
Apple Swift version 4.2 (swiftlang-1000.0.16.7 clang-1000.10.25.3)
Target: x86_64-apple-darwin17.6.0
Bonus contribution: I'm using a custom node.js script to extract a clean string for use with Jazzy documentation. You might get some use of this if you can find a place to work it into your dev process:
Invoked from a Bash script:
#!/bin/bash
swiftversion=$(node SwiftVerSlicer.js "${xcrun swift -version}");
echo $swiftversion
SwiftVerSlicer.js:
// begin script
const inputString = `${process.argv[2]}`
let searchTerm = (inputString.indexOf('(') - 1)//-1 cause whitespace
let version = inputString.slice(0,searchTerm)
console.log(version)
// end script
You can also use regex of course, but do whatever you like :]
I am using Swift from Google Colab. Here's how to check it in Colab.
!/swift/toolchain/usr/bin/swift --version
The result is 5.0-dev
/usr/bin/swiftc --version
and swift version <--> Xcode version
터미널에 swift 명령을 입력하면 Swift 콘솔에 로깅하는 동안 버전이 표시됩니다 (아래와 같은 것).
System-IOSs-MacBook-Air:~ system$ swift
Welcome to Apple Swift version 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7).
Type :help for assistance.
참고 URL : https://stackoverflow.com/questions/30790188/how-do-i-see-which-version-of-swift-im-using
'Programing' 카테고리의 다른 글
한 스트림의 내용을 다른 스트림으로 어떻게 복사합니까? (0) | 2020.02.12 |
---|---|
새로운 요소를 추가하기 위해 열거 형을 서브 클래스 화 할 수 있습니까? (0) | 2020.02.12 |
Python 3에서 raw_input을 사용하는 방법 (0) | 2020.02.12 |
SQLite-UPSERT * not * INSERT 또는 REPLACE (0) | 2020.02.12 |
Windows에서 curl을 어떻게 설치하고 사용합니까? (0) | 2020.02.12 |