对于使用Swift的目标,需要正确配置"Swift语言版本"(SWIFT_VERSION)

Ωlo*_*stA 16 xcode ios swift swift2 swift3

我刚做了最后一次Xcode更新(8.3),我收到了消息:

对于使用Swift的目标,需要正确配置"Swift语言版本"(SWIFT_VERSION).使用[Edit> Convert> To Current Swift Syntax ...]菜单选择Swift版本或使用Build Settings编辑器直接配置构建设置.

知道刚刚从构建设置中删除了"使用Legacy Swift语言版本"选项,如何在不进行任何转换的情况下在Swift 2.3中生成我的应用程序?

Sco*_*des 23

在导航器选择栏中,单击放大镜,然后搜索" SWIFT_VERSION"您将在项目中找到可以相应调整swift版本的位置.

在此输入图像描述

在此输入图像描述

  • 这将是最好的解决方案。 (2认同)

Voj*_*vik 11

你不能.XCode 8.2是支持Swift 2.3的最后一个版本.您必须更新到Swift 3或使用Xcode 8.2.


pal*_*avi 6

就我而言,我选择了Pod并更改了特定Pod的快速版本。这对我有用。

在此处输入图片说明


Ted*_*Ted 5

要以编程方式更改Pod的快速版本,可以将其添加到Podfile中

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['Alamofire','OtherPod','AnotherPod'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '4.0'
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)

在Swift 4中,如果您也使用Objective-C,

您可以打开@objc推断,以便swift项目将在Objective-c上正常运行。

post_install do |installer|
    installer.pods_project.targets.each do |target|
        if ['Alamofire','OtherPod','AnotherPod'].include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_SWIFT3_OBJC_INFERENCE'] = 'On'
            end
        end
    end
end
Run Code Online (Sandbox Code Playgroud)