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

时间:2019-03-26 20:53:45

标签: xcode swift3 xcode10.2

我正在尝试从应用程序下载文件,尝试在Xcode中打开并出现错误:

  

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

17 个答案:

答案 0 :(得分:29)

在项目中选择目标'SimpleWeather'并更改语言版本Target-> build settings-> Swift编译器语言->选择5,4.2等

image of build setting for changing compiler language

答案 1 :(得分:18)

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

enter image description here

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

enter image description here

答案 2 :(得分:11)

最简单的方法:

1。单击左侧列中的POD。

2。在中间列中,选择所需的窗格,然后导航到右上角面板中的“构建设置”。

3。然后搜索“ swift language”版本并更改为已知版本。

enter image description here enter image description here

答案 3 :(得分:6)

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

enter image description here

答案 4 :(得分:5)

在您的情况下,该应用似乎可能具有旧的Swift版本代码,例如Swift 3.0。在Xcode版本10.2中已经启动了Swift 5.0版本。 Xcode 10.2不支持Swift 3.0版本的编译器。您可以从Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5更改编译器。如果您的代码与该语言版本兼容,则它将正确运行代码。

  

但是,Swift 3兼容模式将不受支持。   Swift 5编译器。 Swift 4.2是Swift支持的最新版本   Swift 3模式。两者的表面都有重要变化   语言及其版本内部的实现   继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/

答案 5 :(得分:5)

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

enter image description here

答案 6 :(得分:5)

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

我发现其中的几行

SWIFT_VERSION = 3.0;

(大约在第400行显示/* Begin XCBuildConfiguration section */

修改为SWIFT_VERSION = 5.0或其他。 之后,我可以构建并运行该项目。

答案 7 :(得分:2)

我在开发Cocoapod时遇到了这个问题。我的存储库中有一个旧的.swift-version文件,指定了Swift 3.0。

跑步pod lib lint --verbose使我做出了有益的回应:

  

请删除现已弃用的.swift-version文件,仅在您的podspec中使用swift_version属性。

我删除了文件,并将spec.swift_version = '5.0'添加到我的podspec文件中以解决此问题。

答案 8 :(得分:2)

我已按照此页面上的说明进行操作,但该错误未能解决。最后,进入

$ vim MyProject.xcodeproj/project.pbxproj

找到两个实例

SWIFT_VERSION = 3.0;

仍然被引用。我将其更改为5.0,错误消失了。不知道为什么那两个还在那里。

答案 9 :(得分:1)

  1. 检查一下:
    1. 单击项目名称
    2. 点击目标
    3. 点击构建设置
    4. 在Swift语言版本:选择Swift 4

enter image description here

enter image description here

答案 10 :(得分:1)

如果您像我一样处理多个Pod文件,而使用SWIFT_Version = 3.0找不到Pod,请尝试搜索栏

答案 11 :(得分:1)

enter image description here如按图片一样选择窗格并更改快速语言版本  这样可以为您节省一天

enter image description here

答案 12 :(得分:0)

我是iOS开发的新手。在遵循以上所有答案之后,我仍然遇到相同的错误。我使用的是Xcode 11,我从FoodTracker网站下载了“ Apple Developer”示例,在尝试构建它时遇到了同样的错误。我发现在VIM项目文件内容之后,该项目具有一些引用Swift语言版本的设置。因此,我通过首先将Swift语言版本的“项目> FoodTracker”和 还有“目标> FoodTracker”和“目标> FoodTrackerTests” 设置为解决此问题的方法。希望对您有所帮助。

Setting Swift Language Version on Project and ALL Targets

答案 13 :(得分:0)

1)更改podfile上的pod版本(因为库写了旧的swift版本)

2)在终端上“ pod安装”

答案 14 :(得分:0)

  1. 在编辑器中打开MyProject.xcodeproj / project.pbxproj(例如Sublime)

example Calculator.xcodeproj

  1. 重命名所有SWIFT_VERSION = 3.0;重命名所有SWIFT_VERSION = 5.0;

enter image description here

答案 15 :(得分:0)

请确保您的 pod 版本与您的 swift 版本兼容。当我安装了错误版本的 pod(swift 2.3)时,我遇到了这个问题,但我使用的是 swift 4

答案 16 :(得分:0)

很简单。只需按照这 2 个步骤来解决此问题。

在第 1 步中:

  • 解决构建失败问题。
  • 将 Swift 3.0 转换为 Swift 4.0 enter image description here

在第 2 步中:

  • 解决所有其他警告
  • 然后将 Swift 4.0 转换为 Swift 5.0

enter image description here