How do I see which version of Swift I'm using?

后端 未结 15 1147
失恋的感觉
失恋的感觉 2020-11-28 17:20

I just created a new Swift project within Xcode. I am wondering which version of Swift it\'s using.

How can I see, in Xcode or the terminal, what version of Swift I

相关标签:
15条回答
  • 2020-11-28 17:45

    What I do is say in the Terminal:

    $ xcrun swift -version
    

    Output for Xcode 6.3.2 is:

    Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)
    

    Of course that assumes that your xcrun is pointing at your copy of Xcode correctly. If, like me, you're juggling several versions of Xcode, that can be a worry! To make sure that it is, say

    $ xcrun --find swift
    

    and look at the path to Xcode that it shows you. For example:

    /Applications/Xcode.app/...
    

    If that's your Xcode, then the output from -version is accurate. If you need to repoint xcrun, use the Command Line Tools pop-up menu in Xcode's Locations preference pane.

    0 讨论(0)
  • 2020-11-28 17:46

    In case anyone is looking for quick one-to-one mapping of Swift version based on Xcode Version:

    Xcode 11.6   :      Swift version 5.2.4
    
    Xcode 11.5   :      Swift version 5.2.4
    
    Xcode 11.4   :      Swift version 5.2
    
    Xcode 11.3   :      Swift version 5.1.3
    
    Xcode 11.2.1 :      Swift version 5.1.2
    
    Xcode 11.1   :      Swift version 5.1
    

    Obtained with running following command as mentioned on different Xcode versions:

    /Applications/Xcode11.5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift --version
    
    0 讨论(0)
  • 2020-11-28 17:50

    Project build settings have a block 'Swift Compiler - Languages', which stores information about Swift Language Version in key-value format. It will show you all available (supported) Swift Language Version for your Xcode and active version also by a tick mark.

    Project ► (Select Your Project Target) ► Build Settings ► (Type 'swift_version' in the Search bar) Swift Compiler Language ► Swift Language Version ► Click on Language list to open it (and there will be a tick mark on any one of list-item, that will be current swift version).

    Look at this snapshot, for easy understanding:


    With help of following code, programmatically you can find Swift version supported by your project.

    #if swift(>=5.3)
    print("Hello, Swift 5.3")
    
    #elseif 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
    

    Here is result using Playground (with Xcode 11.x)

    0 讨论(0)
  • 2020-11-28 17:50

    Open the Terminal and write:

    swift -version
    
    0 讨论(0)
  • 2020-11-28 17:52

    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)

    0 讨论(0)
  • 2020-11-28 17:52
    1. Select your project
    2. Build Setting
    3. search for "swift language"
    4. now you can see which swift version you are using in your project

    https://i.stack.imgur.com/Ojn3m.png

    0 讨论(0)
提交回复
热议问题