美文网首页
Xcode - Swift Version

Xcode - Swift Version

作者: ienos | 来源:发表于2022-01-05 14:17 被阅读0次

    查看 Swift 版本

    xcrun swift -version
    

    查看 Swift 在 Xcode 中的位置

    xcrun - find swift
    

    在项目中修改 Swift 版本,Project -> (Select Your Project Target) -> Build Settings -> (Search "swiftt") -> Swift Compiler Language -> Swift Language Version -> 选择目标版本

    change-swift-version

    用命令行查看 Build Setting 指定的 Swift 版本

    xcodebuild -showBuildSettings | grep SWIFT_VERSION
    

    在 Build Setting 中修改完 Swift 版本后,可能会在项目中遇到很多错误,可以使用 Xcode 的自动工具进行语法升级,Edit -> Convert -> To Current Swift Syntax

    to-current-swift-syntax

    进行升级过程中可能会出现错误弹窗


    convert-to-current-swift-syntax-failed

    Convert to Current Swift Syntax Failed
    Please ensure that all selected targets build successfully with the currently configured Swift version before attempting a migration.

    目前尝试删除 UnitTest 和 UITests Target 后可以解决,暂未了解详细根因

    如果在 Swift Language Version 中找不到目标版本,可以到 Swift.org/Download 中下载对应的 Swift ToolChain

    download-toolchain

    下载完成后对软件包进行安装,安全完成后显示 The installation was successful.

    toolchain-install-successful

    安装完成被存放在 /Library/Developer/Toolchains

    toolchains-path

    安装完成后我们可以在 Xcode 中选取特定的 Toolchains

    tab-toolchians-select

    另一种方式,可以在 Xcode -> Preferences -> Components 中对 Toochains 进行选择

    preferences->toolchains-select

    切换完成之后,我们希望在终端能够查看到最新的工具链,例如调用指令 swift --versionxcrun swift --version,需要新增环境变量 TOOLCHAINS,

    export TOOLCHAINS=swift
    

    删除环境变量指令

    unset TOOLCHAINS
    

    在代码中检查 Swift 版本

        func printCurrentSwiftVersion() {
            
    #if swift(>=5.5)
            print("Current Swift Version: Swift 5.5")
            
    #elseif swift(>=5.4)
            print("Current Swift Version: Swift 5.4")
            
    #elseif swift(>=5.3)
            print("Current Swift Version: Swift 5.3")
            
    #elseif swift(>=5.2)
            print("Current Swift Version: Swift 5.2")
            
    #elseif swift(>=5.1)
            print("Current Swift Version: Swift 5.1")
            
    #elseif swift(>=5.0)
            print("Current Swift Version: Swift 5.0")
            
    #elseif swift(>=4.2)
            print("Current Swift Version: Swift 4.2")
            
    #elseif swift(>=4.1)
            print("Current Swift Version: Swift 4.1")
            
    #elseif swift(>=4.0)
            print("Current Swift Version: Swift 4.0")
            
    #elseif swift(>=3.2)
            print("Current Swift Version: Swift 3.2")
            
    #elseif swift(>=3.0)
            print("Current Swift Version: Swift 3.0")
            
    #elseif swift(>=2.2)
            print("Current Swift Version: Swift 2.2")
            
    #elseif swift(>=2.1)
            print("Current Swift Version: Swift 2.1")
            
    #elseif swift(>=2.0)
            print("Current Swift Version: Swift 2.0")
            
    #elseif swift(>=1.2)
            print("Current Swift Version: Swift 1.2")
            
    #elseif swift(>=1.1)
            print("Current Swift Version: Swift 1.1")
            
    #elseif swift(>=1.0)
            print("Current Swift Version: Swift 1.0")
            
    #endif
        }
    

    相关文章

      网友评论

          本文标题:Xcode - Swift Version

          本文链接:https://www.haomeiwen.com/subject/fkuhcrtx.html