“使用旧版 Swift 语言版本”(SWIFT_VERSION) 需要为使用 Swift 的目标正确配置。”
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift."
自从我更新到 Xcode 8.2(GM 种子,来自 App Store)后,我一直卡在以下错误中:
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.
所以我去了目标的 Build Settings,并搜索了 SWIFT_VERSION
以查看我哪里出错了。然而,我惊讶地发现它已经设置为 No
!
我该如何解决这个问题?
Xcode 8 似乎错误地显示了一个不存在的("phantom",如果你愿意的话)No
。对此有一个简单的修复:
- 单击
SWIFT_VERSION
旁边的小箭头切换下拉列表。
- 将
Debug
和 Release
的值设置为 Yes
.
- 将
Debug
和 Release
的值设置回 No
.
下图是刚把Debug
设置为No
后拍的。 Xcode表示Debug
和Release
都设置为No
,但是 SWIFT_VERSION
读取 <Multiple Values>
:
由此,我只能断定这是一个bug;并且某些值(或者更可能是空值)被错误地表示为 No
.
我也遇到过同样的问题"Use Legacy Swift Language Version..",我是通过设置版本解决的,解决问题的技巧是:
- 当你打开目标时,会出现"Convert to Current Swift Syntax"的通知,你应该选择"Later",接下来还有一个通知,仍然选择"Later"。
如果您的目标已经添加了 CocoaPods,请在您的 podFile 末尾添加该代码:
post_install
做|安装程序| installer.pods_project.targets.each
做|目标| target.build_configurations.each
做|配置| config.build_settings['SWIFT_VERSION'] = '3.0'
结束结束结束
添加该代码后,请更新 cocoaPods。
- 点击pod文件,会显示所有第三方库列表。找出每个库的"Build Setting",并搜索"Use Legacy Swift Language Version"类型,将其值设置为YES。
- 可能会出现一些警告或错误,有来自版本上传的,您可以通过红圈提示进行更正。
-----如果你不添加cocoaPods,你可以将targets的版本设置为YES(TARGETS->Build Setting-->Use Legacy Swift Language Version-->YES)
希望能帮到你。
幻影没有答案会起作用。 XCode 损坏的真正原因是因为 Apples XCode "use legacy setting" 确实是一个 Swift 版本号。在 XCode 8.1 中 'No' 翻译成 3.0.1,在 XCode 8.2 中 'No' 翻译成 3.0。所以你需要将版本切换到 Swift 3.0 。这是有道理的。我猜是 XCode 8.1 中的错误。
我的 git 差异:
--- a/ios/myapp.xcodeproj/project.pbxproj
+++ b/ios/myapp.xcodeproj/project.pbxproj
@@ -1757,7 +1757,7 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0.1;
+ SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
我看到上面的评论有相同的答案只是认为它需要更加突出。
我昨天遇到了同样的问题。修复步骤:
构建设置 -> 搜索 swift,选择使用旧版 swift 语言版本
将否切换为是 -> 构建。你会得到更多的错误。
向后切换是到否。构建 -> 成功!
有时候苹果会让我们变得如此疯狂:)
全部完成。
请selectpod alamofire中的target,搜索'SWIFT_VERSION',selectswift3.
以防其他人遇到我刚刚遇到的同样问题。
我有一个应用程序已准备好在应用程序商店上发布,但我一直在等待,与此同时我更新到 Xcode 9 beta 并四处乱逛,更改了我的应用程序中的一些内容。我去把它上传到应用程序商店,它说你不能使用测试版上传所以我回到 Xcode 8 但它开始给我“Swift 语言版本”(SWIFT_VERSION)...”错误。
我的修复
在您的项目构建设置下 > Swift 编译器版本 > 我不得不将其从 Swift 4(currently not supported)
更改为 Swift 3
。
问题已解决:)
Xcode 8.3.2 转到:
构建设置 > Swift 编译器 - 版本 > 更改 Swift 版本
..有效
自从我更新到 Xcode 8.2(GM 种子,来自 App Store)后,我一直卡在以下错误中:
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.
所以我去了目标的 Build Settings,并搜索了 SWIFT_VERSION
以查看我哪里出错了。然而,我惊讶地发现它已经设置为 No
!
我该如何解决这个问题?
Xcode 8 似乎错误地显示了一个不存在的("phantom",如果你愿意的话)No
。对此有一个简单的修复:
- 单击
SWIFT_VERSION
旁边的小箭头切换下拉列表。 - 将
Debug
和Release
的值设置为Yes
. - 将
Debug
和Release
的值设置回No
.
下图是刚把Debug
设置为No
后拍的。 Xcode表示Debug
和Release
都设置为No
,但是 SWIFT_VERSION
读取 <Multiple Values>
:
由此,我只能断定这是一个bug;并且某些值(或者更可能是空值)被错误地表示为 No
.
我也遇到过同样的问题"Use Legacy Swift Language Version..",我是通过设置版本解决的,解决问题的技巧是:
- 当你打开目标时,会出现"Convert to Current Swift Syntax"的通知,你应该选择"Later",接下来还有一个通知,仍然选择"Later"。
如果您的目标已经添加了 CocoaPods,请在您的 podFile 末尾添加该代码:
post_install 做|安装程序| installer.pods_project.targets.each 做|目标| target.build_configurations.each 做|配置| config.build_settings['SWIFT_VERSION'] = '3.0' 结束结束结束
添加该代码后,请更新 cocoaPods。
- 点击pod文件,会显示所有第三方库列表。找出每个库的"Build Setting",并搜索"Use Legacy Swift Language Version"类型,将其值设置为YES。
- 可能会出现一些警告或错误,有来自版本上传的,您可以通过红圈提示进行更正。
-----如果你不添加cocoaPods,你可以将targets的版本设置为YES(TARGETS->Build Setting-->Use Legacy Swift Language Version-->YES) 希望能帮到你。
幻影没有答案会起作用。 XCode 损坏的真正原因是因为 Apples XCode "use legacy setting" 确实是一个 Swift 版本号。在 XCode 8.1 中 'No' 翻译成 3.0.1,在 XCode 8.2 中 'No' 翻译成 3.0。所以你需要将版本切换到 Swift 3.0 。这是有道理的。我猜是 XCode 8.1 中的错误。
我的 git 差异:
--- a/ios/myapp.xcodeproj/project.pbxproj
+++ b/ios/myapp.xcodeproj/project.pbxproj
@@ -1757,7 +1757,7 @@
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0.1;
+ SWIFT_VERSION = 3.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
我看到上面的评论有相同的答案只是认为它需要更加突出。
我昨天遇到了同样的问题。修复步骤:
构建设置 -> 搜索 swift,选择使用旧版 swift 语言版本
将否切换为是 -> 构建。你会得到更多的错误。
向后切换是到否。构建 -> 成功!
有时候苹果会让我们变得如此疯狂:)
全部完成。
请selectpod alamofire中的target,搜索'SWIFT_VERSION',selectswift3.
以防其他人遇到我刚刚遇到的同样问题。
我有一个应用程序已准备好在应用程序商店上发布,但我一直在等待,与此同时我更新到 Xcode 9 beta 并四处乱逛,更改了我的应用程序中的一些内容。我去把它上传到应用程序商店,它说你不能使用测试版上传所以我回到 Xcode 8 但它开始给我“Swift 语言版本”(SWIFT_VERSION)...”错误。
我的修复
在您的项目构建设置下 > Swift 编译器版本 > 我不得不将其从 Swift 4(currently not supported)
更改为 Swift 3
。
问题已解决:)
Xcode 8.3.2 转到:
构建设置 > Swift 编译器 - 版本 > 更改 Swift 版本
..有效