xcode 8 swift update with error"使用Legacy Swift语言版本"

时间:2016-09-21 12:46:30

标签: swift compiler-errors swift3 xcode8

当我将项目打开到Xcode 8时,我收到以下错误

Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly

在StackOverflow上引用类似的post,使用Legacy Swift语言版本是/否。但是,通过做YES或No值,它对我不起作用?

请帮忙。

我已选中使用Legacy Swift语言版本选项是/否请查看附带的屏幕截图 Use Legacy Swift Language Version-YES

Use Legacy Swift Language Version-NO

5 个答案:

答案 0 :(得分:16)

将此添加到您的pod文件中:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'yourappname' do

pod 'yourpodlists'

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '2.3'  ## or '3.0'
        end
    end
end
end

再次运行pod-install。使用cdm + alt + shift + k清理项目。使用cmd + shift + k再次清洁。重启Xcode。建立。现在应该可以了。

如果您不使用cocoapods,则应该能够通过将编译器版本属性Use Legacy Swift Language Version从未指定设置为是或否来解决此问题。

构建项目或库的设置 - >

enter image description here

答案 1 :(得分:2)

尝试将swift代码转换为swift3或swift 2.3。 编辑 - >转换 - >当前快速 - >选择swift 3或swift 2.3。这将有效。

答案 2 :(得分:2)

enter image description here 我正在使用Xcode 8.3.3 经过太多的冲浪和解决后,我找到了这个解决方案,这对我有用。

Here are the steps.
1=> select your target from Xcode
2=> go to build setting
3=> search for "Swift Language Version"
4=> change it to swift 3. (or accordingly.)

答案 3 :(得分:0)

参考this, 这就是我的结论(对于Xcode 8):

  1. 如果你的代码是swift version = 2.3,那么你只需要在构建设置中将使用旧版Swift语言版本设置为YES,你就可以了。
  2. 如果你的代码是swift版本< 2.3然后:

    i)将您的代码转换为swift 2.3并设置'使用Legacy Swift语言版本= YES'

    ii)将您的代码转换为最新的swift版本(可能是3.0)并设置'使用Legacy Swift语言版本= NO'

  3. 在我的情况下,我使用了swift 2.2中的外部库导致Xcode 8.0中的错误,因此我用swift版本2.3替换了相同的库并使用上面的解决方案2.i)。现在一切都很好。

    希望这有助于寻求解决此问题的人。

答案 4 :(得分:0)

如果你没有使用pod,只需将其添加到你的Info.plist中 - 我在2.3 enter image description here

因为该选项未在构建设置中列出。