Xcode中的swift语言版本构建设置是啥意思?
Posted
技术标签:
【中文标题】Xcode中的swift语言版本构建设置是啥意思?【英文标题】:What does swift language version build setting in Xcode mean?Xcode中的swift语言版本构建设置是什么意思? 【发布时间】:2020-01-19 14:40:03 【问题描述】:我的框架项目已升级到 Swift 5 和 Xcode 10.3,但现在我仍然想在 Swift 4.2 上构建它。
我尝试将Xcode 10.3
的构建设置中的Swift Language Version
设置为Swift 4.2
。我想知道为什么它有一些只出现在Swift 5.0
上的语法,但是该项目已成功构建,但是当我将该框架放入在 Xcode 10 上运行的项目(它与 Swift 4.2
一起提供)时,它无法构建。错误是“不支持 SWIFT 5.0...”。
那么在这种情况下,Swift Language Version
究竟意味着什么?我们有办法用 Swift 4.2 和 Xcode 10.3 构建这个框架吗?谢谢大家的回答。
【问题讨论】:
@Dai,Swift 语言版本表示您的项目支持哪个 swift 版本,如果您的 Xcode 支持该 swift 版本,我们可以更改这是 Build 设置。 你发现了吗?下面的答案似乎并不能真正解释这一点...... @benchuk 我已经阅读了关于 *** 的解释,但我现在找不到它。据我所知,当 Xcode 版本发布时,它将附带一个 swift 编译器版本。您在构建设置中配置的内容只是使其与旧 swift 版本的源代码一起使用,这就是为什么您的输出框架具有与构建设置不同的 swift 版本的原因。 @DaiTran 感谢您的回答,总的来说,它似乎没有按照您的建议做,例如我在 xCode 12 上(工具链版本是 swift 5)我的项目在 xCode 10 上运行良好工具链 swift 4(代码是为 swift 4 编写的)在项目设置中选择 swift 版本 4 时,项目不会在 xcode 11 上编译 - 唯一使它编译的是将 xCode 11 工具链更改为 swift 4跨度> 【参考方案1】:@Dai,Swift 语言版本表示您的项目支持哪个 swift 版本,如果您的 Xcode 支持该 swift 版本,我们可以在 Build 设置中更改它。
转到构建设置 Swift 编译器语言 然后更改您项目支持的版本。【讨论】:
这是什么时候?我什么时候应该选择不同的版本?以上是关于Xcode中的swift语言版本构建设置是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 的构建设置中的“-weak_framework”是啥意思?
Xcode 中使用较低 4.0.3 版本而不是 5.0.1 的 Swift 构建设置未强制执行
对于使用Swift的目标,需要正确配置“Swift语言版本”(SWIFT_VERSION)