用 Swift 4.0 编译的模块无法在 Swift 3.2.1 中导入
Module compiled with Swift 4.0 cannot be imported in Swift 3.2.1
Swift 4.0 模块在 Swift 3.2 应用程序中很好用 Xcode 9.0.
但是现在,使用 Xcode 9.1,我得到:
Module compiled with Swift 4.0 cannot be imported in Swift 3.2.1
或者:
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.1
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 兼容构建。
可以在 Xcode 9.1 beta 2 中使用 Swift 3.2 进行构建,方法是安装 Xcode 9.0 toolchain 并使用它来构建项目。
然后在 Xcode -> Toolchains 菜单下选择 Swift 4.0 版本。
您现在应该能够在 Xcode 9.1 b2 中使用 Swift 3.2 或 4.0 进行构建。
使用最后一个 Xcode 版本解决了这个问题
Swift 4.0 模块在 Swift 3.2 应用程序中很好用 Xcode 9.0.
但是现在,使用 Xcode 9.1,我得到:
Module compiled with Swift 4.0 cannot be imported in Swift 3.2.1
或者:
Module compiled with Swift 4.0 cannot be imported in Swift 4.0.1
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 兼容构建。
可以在 Xcode 9.1 beta 2 中使用 Swift 3.2 进行构建,方法是安装 Xcode 9.0 toolchain 并使用它来构建项目。
然后在 Xcode -> Toolchains 菜单下选择 Swift 4.0 版本。
您现在应该能够在 Xcode 9.1 b2 中使用 Swift 3.2 或 4.0 进行构建。
使用最后一个 Xcode 版本解决了这个问题