9

Swift 4.0 模块在带有 Xcode 9.0 的 Swift 3.2 应用程序中运行良好。

但是现在,使用 Xcode 9.1,我得到:

使用 Swift 4.0 编译的模块无法在 Swift 3.2.1 中导入

或者:

使用 Swift 4.0 编译的模块无法在 Swift 4.0.1 中导入

4

3 回答 3

10

Swift 4.0 仅与 Swift 3.2 兼容。
Swift 4.0.1 仅与 Swift 3.2.1 兼容。

所以:

  • 你不能混合 4.0 和 3.2.1
  • 你不能混合 4.0.1 和 3.2
  • 你不能混合 4.0 和 4.0.1
  • 你不能混合 3.2.1 和 3.2

以不同的方式表述它:

  • 您可以将 Xcode 9.0 支持的 Swift 版本混合在一起
  • 您可以将 Xcode 9.1 支持的 Swift 版本混合在一起
  • 你不能混合 Xcode 9.0 和 Xcode 9.1 Swift 版本

如果模块是由您构建的,只需使用相同的 Xcode 重新构建它。
如果模块是由第三方构建的,请请求 Xcode 9.1 兼容的构建。

于 2017-10-10T06:32:10.060 回答
7

通过安装Xcode 9.0 工具链并使用它来构建您的项目,可以在 Xcode 9.1 beta 2 中使用 Swift 3.2构建。

Swift 工具链图片

然后在 Xcode -> Toolchains 菜单下选择 Swift 4.0 版本。

您现在应该能够在 Xcode 9.1 b2 中使用 Swift 3.2 或 4.0 进行构建。

于 2017-10-11T18:49:03.907 回答
0

使用最新的 Xcode 版本解决了这个问题

于 2017-12-18T18:52:01.947 回答