Programing

사용중인 Swift 버전을 어떻게 확인합니까?

lottogame 2020. 2. 12. 08:00
반응형

사용중인 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)

물론 xcrunXcode 사본을 올바르게 가리키고 있다고 가정 합니다. 나처럼 여러 버전의 Xcode를 저글링하는 경우 걱정할 수 있습니다! 그것이 맞는지 확인하려면

$ xcrun --find swift

Xcode의 경로를 살펴보십시오. 예를 들면 다음과 같습니다.

/Applications/Xcode.app/...

그것이 Xcode 인 경우 출력 -version은 정확합니다. 을 다시 지정해야하는 경우 xcrunXcode의 위치 환경 설정 패널에서 명령 행 도구 팝업 메뉴를 사용하십시오.


터미널을 열고 다음을 작성하십시오.

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 (Replace Xcode_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



반응형