如何在Xcode 10.2中修复“SWIFT_VERSION '3.0'不受支持,支持的版本为:4.0、4.2、5.0”错误?

149

我试图运行从应用程序下载的文件,尝试在Xcode中打开,但出现错误:

" 显示最近的消息
:-1: SWIFT_VERSION '3.0' 不受支持,支持的版本包括:4.0、4.2、5.0。(在目标'SimpleWeather'中)"

已添加屏幕截图


更新这些东西。从 Swift 的发展速度来看,3.0 版本已经相当老了。 - vadian
2
我正在使用Xcode 10.2,尝试打开旧的3.0版本,但由于出现错误,无法运行程序。 - vlad uvarov
1
更新版本的Xcode ;( - vlad uvarov
从备份中恢复之前的版本。 - vadian
10
天啊!我花了三个小时下载XCode 10.2,结果发现无法再构建我的应用程序了。我没有XCode 10.1的备份!这太疯狂了,苹果公司应该赔偿我。 - vojta
显示剩余5条评论
18个回答

134
在项目中选择目标为'SimpleWeather',然后更改语言版本。可以通过以下步骤进行操作:Target->构建设置->Swift编译器语言->选择5、4.2等版本。请参考下图所示的构建设置界面进行操作:

更改编译语言的构建设置界面


这里没有人评论这是一个救命稻草。我一直在重新安装旧版本的Xcode,需要解压等多个小时的时间......你知道的。 - AMC08

86

******** 最简单的方法:**********

1. 在左侧栏中点击PODs。

2. 在中间栏中选择您想要的pod,然后导航到右上角面板中的“构建设置”。

3. 然后搜索“Swift语言版本”,并更改为已知版本。

enter image description here enter image description here


57

对于Xcode 10.1,选择您的Pods文件

输入图像描述

-> 转到“构建设置”->选择您的Pod->搜索“Swift”->导航到“Swift语言版本”->设置为所需的语言版本。

输入图像描述


10
如果 Swift 版本是 3.x,且你的 Xcode 版本大于 10.2,那么该解决方案无法使用。 - Juan P. Ortiz

19

我按照这个页面上的说明操作,但错误仍未解决。最终,我进入了

$ vim MyProject.xcodeproj/project.pbxproj

发现了两个实例,其中

SWIFT_VERSION = 3.0;

仍在引用。我将它们更改为5.0,错误消失了。不确定为什么这两个还在那里。


1
我使用了苹果公司的指南(https://swift.org/migration-guide-swift4/)来升级从Swift 3.0到5.0,但助手没有显示任何建议。当我修改了上面答案中的这两行代码时,它立即提示我进行升级。感谢@Forrest(https://stackoverflow.com/users/3288258/forrest)分享这个解决方案! - KareemJ
2
这对我也起作用了。正在进行关于它的课程,示例项目使用的是错误版本。 - sixstring
加一,它奏效了!在进行这个更改后,我的代码只有一个警告。 - David Lindsay
非常准确!我的代码在/* Release *//* Debug */之间。 - grantmx
这太棒了! - ken4ward
显示剩余2条评论

15
  1. 选择项目
  2. 选择构建设置选项卡
  3. 选择Swift编译器语言选项

输入图片说明


11

在此输入图片描述选择与图片相似的Pod,并更改Swift语言版本,这样做可以节省您一天的时间

在此输入图片描述


10

搜索Swift并双击,然后更改每个有问题的版本。

在此输入图片描述


不错的提示!或者为什么不直接输入swift_version以获取更整洁的列表 :) - turingtested

7
似乎该应用程序可能具有旧的Swift版本代码,例如Swift 3.0。在Xcode版本10.2发布了Swift 5.0版本。Xcode 10.2不支持Swift 3.0版本的编译器。您可以从 Build Settings -> Swift Compiler - Language -> Swift Language Version -> 将其更改为Swift 5 更改编译器。如果您的代码与该语言版本兼容,则会运行代码而无错误。
然而,Swift 3兼容模式将不受Swift 5编译器支持。Swift 4.2是最后一个支持Swift 3模式的Swift版本。在Swift 3之后的发布版本中,语言表面和内部实现都发生了重要变化,这些变化将成为未来(和持久的)源和二进制稳定性的基础。
请参考下面的链接获取更多详细信息。 https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2 如果您真的希望运行具有旧版Swift版本代码的应用程序,则必须使用旧版Xcode。您可以使用Xcode 10.1版本,其编译器支持Swift 3.0版本。
另一种选择是将旧版Swift代码迁移到新版本的Swift版本中。您可以在Xcode 10.1版本中将Swift 3.0迁移到Swift 4.0。
有关迁移指南,请参考以下链接。 https://swift.org/migration-guide-swift4/

6

我使用VSCode编辑器打开了MyProject.xcodeproj文件,

在其中找到了如下内容:

SWIFT_VERSION = 3.0;

(大约在第400行处的/* Begin XCBuildConfiguration section */标记下面)

将其修改为SWIFT_VERSION = 5.0或其他版本号,之后就能够构建并运行该项目了。


6
  1. 请查看以下步骤:
    1. 点击项目名称
    2. 点击目标
    3. 点击构建设置
    4. 在Swift语言版本处:选择Swift 4

enter image description here

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接