如何修正 Xcode 10.2中“ SWIFT_VERION’3.0’不受支持,支持的版本是: 4.0,4.2,5.0”错误?

我正在尝试从 app 下载,尝试在 Xcode 打开,结果出现了一个错误:

" 显示最近的消息
: : 1: 不支持 SWIFT _ VERION‘3.0’,支持的版本是: 4.0,4.2,5.0(在目标‘ SimpleWeather’中)”

Screenshot added

115835 次浏览

在项目中选择目标“ SimpleWeather”并更改语言版本 Target-> build set-> Swift 编译器 language-> Select 5,4.2 etc

image of build setting for changing compiler language

最简单的方法就是

1. 单击左侧列中的 POD。

在中间的一栏选择你想要的吊舱,然后导航到右上方面板中的“构建设置”。

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

enter image description here enter image description here

看起来这个应用程序可能有一个旧的 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 支持的最后一个版本 快速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/

对于 Xcode 10.1,选择 Pods File

enter image description here

- > 进入构建设置-> 选择您的播客-> 搜索“迅速”-> 导航到“迅速语言版本”-> 设置为所需的语言版本。

enter image description here

enter image description here根据图片选择 pod like 并更改快捷语言版本 这可以拯救你一天

enter image description here

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

运行 pod lib lint --verbose使我得到了这样一个有益的回答:

请删除现在不推荐使用的 .swift-version文件,并且只在 podspec 中使用 swift_version属性。

我删除了该文件,并将 spec.swift_version = '5.0'添加到 podspec 文件中以修复该问题。

我按照这个页面上的说明进行操作,但是错误没有解决

$ vim MyProject.xcodeproj/project.pbxproj

发现了两个例子

SWIFT_VERSION = 3.0;

仍然被引用。我把它们改成了5.0,错误消失了。不知道为什么那两个人还在那里。

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

2)终端上的“吊舱安装”

  1. 看看这个:
    1. 单击项目名称
    2. 点击目标
    3. 单击“生成”设置
    4. 在迅速语言版本: 选择迅速4

enter image description here

enter image description here

  1. 选择项目
  2. 选择 Build SettingTab
  3. 选择快速编译器语言选项

enter image description here

我是 iOS 开发的新手。在我按照以上所有的答案去做之后,我仍然得到了同样的错误。我正在使用 Xcode 11,我从 苹果开发者网站下载了“ 食物追踪”示例,在尝试构建它之后,我得到了相同的错误。我发现该项目有几个设置参考 Swift 语言版本后 VIM 的项目文件内容。因此,我首先将“ Project > FoodTracker”和 < em > “目标 > 食物追踪系统”及“目标 > 食物追踪系统测试”的 Swift Language Version 设置为5.0,从而解决了这个问题。希望能有帮助。

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

如果您像我一样有多个 pod 文件,并且在使用 SWIFT _ Version = 3.0找到 pod 时遇到困难,请尝试使用搜索栏

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

我找到了一些线条

SWIFT _ VERSION = 3.0;

(大约在第400行写着 /* Begin XCBuildConfiguration section */)

修改为 SWIFT _ VERION = 5.0或其他。 在那之后,我就能够构建和运行这个项目了。

搜索 Swift 并双击,然后更改每个错误版本。

enter image description here

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

example Calculator.xcodeproj

  1. 重命名所有 SWIFT _ VERION = 3.0; 重命名所有 SWIFT _ VERION = 5.0;

enter image description here

请确保你的分离舱版本与你的雨燕版本兼容。当我安装了错误的 pod 版本(Swift 2.3)时,我遇到了这个问题,但是我使用的是 Swift 4

很简单,只要按照这两个步骤来解决这个问题。

第一步:

  • 解决生成失败问题。
  • Covert Swift 3.0到 Swift 4.0 enter image description here

第二步:

  • 解决所有其他警告
  • 然后是 Covert Swift 4.0到 Swift 5.0

enter image description here

我们可以使用安装后钩子安装 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

如果您有很多 Pods作为依赖项,这个钩子是很有用的,因为我们不需要为每个 pod 手动更改构建设置。但是,如果一些 pods 还不支持 Swift 5,请确保手动将它们更改为4.0或4.2,如前面的答案所述。