【问题标题】:iOS - Is possible to combine Swift 3 and Swift 4 code within one project?iOS - 是否可以在一个项目中结合 Swift 3 和 Swift 4 代码?
【发布时间】:2018-02-01 11:05:20
【问题描述】:

我有一个项目(Xcode 9),它使用了大量的第三方库。其中一些(仅)用 Swift 3 编写,另一些(仅)用 Swift 4 编写。

Build Settings > Swift 中有一个选项允许选择版本 3 版本 4,因此只有“一半”的代码有效。

有没有办法在一个项目中同时使用这两个版本?

或者是否有一些“自动代码转换器”能够将 Swift 3 代码转换为 Swift 4 标准?

【问题讨论】:

  • 您是在使用可可豆荚,还是手动添加这些库?
  • 手动@Milan Nosáľ。
  • swift 3 和 swift 4 之间几乎没有什么变化。您根本不需要做太多事情来将您的 pod 翻译成 swift 4。

标签: ios swift swift3 swift4 xcode9


【解决方案1】:

如果您使用 CocoaPods 来管理您的 3rd 方依赖项,那么可以。 Swift 版本可以在 pod 项目中的 pod 目标的 Build Settings 中设置。

所以你可以有一个运行 Swift 4 的应用程序,它使用为 Swift 3.2 构建的库。

如果您将第 3 方库添加到您的主项目中,那么这可能是不可能的,尽管您可以将这些库提取到他们自己的项目(或私有 cocoapod)中并添加到您的工作区并在每个项目上设置 Swift 版本个别

Xcode 应该有一个警告提示您转换为 Swift 4,您可以单击它,应该自动将您的项目转换为 Swift 4,但您最终可能不得不手动修复一些警告/错误

【讨论】:

  • 据我所知,Swift 3 和 Swift 4 之间几乎没有变化(语法方面)。我在所有项目中同时使用这两个版本。
【解决方案2】:

将您的 swift 3 代码转换为 swift 4,您的代码将按预期工作。

Xcode 可能会建议您将代码转换为 swift 4。

【讨论】:

    猜你喜欢
    • 2012-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多