143

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

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

添加了屏幕截图

4

18 回答 18

122

在项目中选择目标“SimpleWeather”并更改语言版本目标->构建设置-> Swift编译器语言->选择5、4.2等

用于更改编译器语言的构建设置的图像

于 2019-03-27T09:33:42.897 回答
83

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

1.单击左栏中的 POD。

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

3.然后搜索“Swift Language Version”并更改为已知版本。

在此处输入图像描述 在此处输入图像描述

于 2019-03-31T00:49:27.950 回答
55

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

在此处输入图像描述

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

在此处输入图像描述

于 2019-04-12T11:14:52.243 回答
16

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

$ vim MyProject.xcodeproj/project.pbxproj

并找到了两个实例

SWIFT_VERSION = 3.0;

仍然被引用。我将它们更改为 5.0 并且错误消失了。不知道为什么那两个还在。

于 2019-07-13T17:55:57.257 回答
14
  1. 选择项目
  2. 选择构建设置选项卡
  3. 选择 Swift 编译器语言选项

在此处输入图像描述

于 2019-10-20T13:49:42.683 回答
11

在此处输入图像描述根据图像选择 pod 并更改 swift 语言版本,这可以为您节省一天的时间

在此处输入图像描述

于 2019-04-29T11:01:24.123 回答
8

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

在此处输入图像描述

于 2020-04-04T01:10:22.790 回答
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 -> Change it to Swift 5. 如果您的代码与该语言版本兼容,那么它将运行代码而不会出错。

但是,Swift 5 编译器将不支持 Swift 3 兼容模式。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/

于 2019-04-04T14:55:47.713 回答
6

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

我发现了一些行

SWIFT_VERSION = 3.0;

(大约在第 400 行,上面写着/* Begin XCBuildConfiguration section */

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

于 2020-03-20T10:07:14.297 回答
5

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

跑步pod lib lint --verbose让我得到了这个有用的回应:

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

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

于 2019-05-14T18:10:58.177 回答
5
  1. 看一下这个:
    1. 点击项目名称
    2. 点击目标
    3. 点击构建设置
    4. 在 Swift 语言版本:选择 Swift 4

在此处输入图像描述

在此处输入图像描述

于 2019-10-01T23:43:55.437 回答
1

如果您像我一样有多个 pod 文件,并且您在查找 SWIFT_Version = 3.0 的 pod 时遇到问题,请尝试搜索栏

于 2020-03-10T05:35:43.543 回答
0
  1. 在编辑器中打开 MyProject.xcodeproj/project.pbxproj (eq Sublime)

示例 Calculator.xcodeproj

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

在此处输入图像描述

于 2020-06-09T19:29:24.653 回答
0

我们可以使用安装 Cocoapods 的安装后挂钩来自动执行此操作。

将此添加到您的Podfile

    ..
    pod 'Alamofire' # Just an example for the last pod in list.
    post_install do |installer|
        installer.pods_project.targets.each do |target|
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '5.0'
            end
        end
    end
end

如果你有很多Podsas 依赖项,这个钩子会很有帮助,因为我们不需要手动更改每个 pod 的构建设置。但是,如果某些 pod 尚不支持 Swift 5,请务必按照前面的答案中所述手动将其更改为 4.0 或 4.2。

于 2021-09-17T16:10:22.280 回答
0

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

2)终端上的“pod install”

于 2019-09-22T18:32:14.157 回答
0

我是 iOS 开发的新手。在我遵循上述所有答案后,我仍然遇到同样的错误。我使用的是 Xcode 11,我从Apple Developer网站下载了“ FoodTracker ”示例,在尝试构建它后我得到了同样的错误。发现项目文件内容在vim后有几个参考Swift语言版本的设置。因此,我通过首先将“项目 > FoodTracker”以及“TARGETS > FoodTracker”和“TARGETS > FoodTrackerTests”的 Swift 语言版本设置为 5.0 来解决这个问题。希望能帮助到你。

在项目和所有目标上设置 Swift 语言版本

于 2020-01-21T02:55:51.863 回答
0

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

在第 1 步中:

  • 解决构建失败问题。
  • 将 Swift 3.0 隐蔽到 Swift 4.0 在此处输入图像描述

在第 2 步中:

  • 解决所有其他警告
  • 然后将 Swift 4.0 隐蔽到 Swift 5.0

在此处输入图像描述

于 2021-08-04T23:42:15.953 回答
0

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

于 2021-04-06T11:46:07.673 回答