自从我更新到Xcode 8.2(GM种子,来自App Store)以来,我一直遇到以下错误:
使用Legacy Swift语言版本“(SWIFT_VERSION)需要为使用Swift的目标正确配置 . 使用[Edit> Convert> To Current Swift Syntax ...]菜单选择Swift版本或使用Build Settings编辑器直接配置构建设置 .
所以我去了我的目标 Build Settings ,并搜索 SWIFT_VERSION 以查看我犯错的地方 . 但是,我惊讶地发现它已经设置为 No !
我该如何解决?
7 回答
请在pod alamofire中选择目标,搜索'SWIFT_VERSION',选择swift3 .
Xcode 8似乎错误地显示不存在("phantom",如果你愿意的话) No . 这有一个微不足道的解决方案:
单击 SWIFT_VERSION 旁边的小箭头以切换下拉列表 .
将 Debug 和 Release 的值设置为 Yes .
将 Debug 和 Release 的值设置回 No .
下面的图片是在将 Debug 设置为 No 之后拍摄的 . Xcode显示 Debug 和 Release 都设置为 No ,但 SWIFT_VERSION 读取
<Multiple Values>
:由此,我只能得出结论,这是一个错误;并且某些值(或更可能是空值)被错误地表示为 No .
Xcode 8.3.2转到:
构建设置> Swift编译器 - Viersion>更改Swift版本
....作品
Just in case anyone else runs into the same issue I just had.
我有一个应用程序准备启动到应用程序商店,但我在等待,同时我更新到Xcode 9测试版,并在搞乱,改变我的应用程序中的一些东西 . 我去上传到应用程序商店,它说你不能使用beta版本上传,所以我回到了Xcode 8,但它开始给我“Swift语言版本”(SWIFT_VERSION)......“错误 .
My fix
在您的项目构建设置> Swift编译器版本>我必须将此更改从
Swift 4(currently not supported)
更改为Swift 3
.问题解决了 :)
幻影没有答案会奏效 . XCode被打破的真正原因是因为Apples XCode“使用遗留设置”实际上是一个Swift版本号 . 在XCode 8.1中,“否”被翻译为3.0.1,在XCode 8.2中,“否”转换为3.0 . 所以你需要将版本切换到Swift 3.0 . 这是有道理的 . 我想是XCode 8.1中的一个错误 .
我的git差异:
我看到上面的评论有相同的答案,只是认为它需要更突出 .
关于“使用Legacy Swift语言版本......”我遇到了同样的问题,我已经通过设置版本来解决它,解决问题的技巧是:
当你打开目标时,会显示"Convert to Current Swift Syntax"的通知,你应该选择"Later",接下来还有另外一个通知,仍然选择"Later" .
如果你的目标已经添加了CocoaPods,请在podFile的末尾添加该代码:
post_install do | installer | installer.pods_project.targets.each do | target | target.build_configurations.each do | config | config.build_settings ['SWIFT_VERSION'] ='3.0'结束
添加该代码后,请更新cocoaPods .
单击pod文件,将显示所有第三方库列表 . 找出每个库的"Build Setting",并搜索"Use Legacy Swift Language Version"类型,将其值设置为YES .
可能有一些警告或错误,有来自版本上传,您可以通过红色圆圈提示更正它们 .
-----如果你没有添加cocoaPods,你可以将目标的版本设置为YES(目标 - >构建设置 - >使用Legacy Swift语言版本 - > YES)希望可以帮到你 .
昨天我遇到了同样的问题 . 修复步骤:
构建设置 - >搜索swift,选择使用旧版swift语言版本
切换否是 - >构建 . 你会得到更多的错误 .
返回切换是否为否 . Build - >成功!
有时苹果让我们变得如此疯狂:)
全部完成 .