自从我更新到Xcode 8.2(GM种子,来自App Store)以来,我一直遇到以下错误:
使用Legacy Swift语言版本“(SWIFT_VERSION)是必需的 为使用Swift的目标正确配置。使用[编辑> 转换> To Current Swift Syntax ...]菜单选择一个Swift版本或 使用Build Settings编辑器直接配置构建设置。
所以我去了我的目标构建设置,并搜索 SWIFT_VERSION
以查看我在哪里犯错。但是,我很惊讶地发现它已经设置为 No
!
我该如何解决这个问题?
答案 0 :(得分:17)
答案 1 :(得分:15)
Xcode 8似乎错误地显示不存在("幻像",如果你愿意) No
。对此有一个微不足道的解决方法:
答案 2 :(得分:7)
Xcode 8.3.2转到:
构建设置> Swift编译器 - Viersion>改变Swift版本
...作品
答案 3 :(得分:2)
以防其他人遇到我刚才遇到的同样问题。
我有一个应用程序准备启动到应用程序商店,但我在等待,同时我更新到Xcode 9测试版并且正在搞乱,改变了我的应用程序中的一些东西。我把它上传到应用程序商店,它说你不能使用beta版本上传,所以我回到了Xcode 8,但它开始给我“Swift语言版本”(SWIFT_VERSION)......“错误。
我的修复
在您的项目构建设置> Swift编译器版本>我必须将其从Swift 4(currently not supported)
更改为Swift 3
。
解决问题:)
答案 4 :(得分:1)
幽灵没有答案可行。 XCode被打破的真正原因是苹果XCode"使用传统设置"真的是一个Swift版本号。在XCode 8.1' No'翻译为3.0.1,在XCode 8.2' No'转换为3.0。所以你需要将版本切换到Swift 3.0。这是有道理的。我想是XCode 8.1中的一个错误。
我的git diff:
--- 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;
我看到上面的评论有相同的答案,只是认为它需要脱颖而出。
答案 5 :(得分:0)
我遇到了“使用Legacy Swift语言版本......”的相同问题,我通过设置版本解决了这个问题,解决问题的提示是:
如果你的目标已经添加了CocoaPods,请在podFile的末尾添加该代码:
post_install 做|安装程序| installer.pods_project.targets.each 做|目标| target.build_configurations.each do | config | config.build_settings ['SWIFT_VERSION'] ='3.0' 结束端
添加该代码后,请更新cocoaPods。
-----如果你没有添加cocoaPods,你可以将目标版本设置为YES(TARGETS-> Build Setting - > Use Legacy Swift Language Version - > YES) 希望能帮到你。
答案 6 :(得分:0)
昨天我遇到了同样的问题。修复步骤:
构建设置 - >搜索swift,选择使用遗留的swift语言版本
否定是 - >建立。你会得到更多的错误。
返回切换是否为否。构建 - >成功!
苹果有时会让我们变得如此疯狂:)
全部完成。