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

时间:2017-09-13 12:52:19

标签: swift swift4

我使用框架(没有Carthage,没有Pods)只能将它复制到项目中。编译后我得到错误:

Module compiled with Swift 3.1 cannot be imported in Swift 4.0:
/Path/To/Framework/Module/x86_64.swiftmodule

再次清洁和建造项目不起作用。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:5)

不,您需要使用相同的Swift版本编译所有Swift二进制文件。 ABI稳定性(这是你的问题的原因)被推迟到下一个Swift版本(尽管如果我没记错的话,最初计划用于Swift 3)。您可以跟踪此功能here

在Swift具有ABI稳定性之前,您需要在每个Swift版本中重新编译源代码。

编辑:正如Shai Mishali所指出的,遗憾的是 ABI稳定性 在没有 模块的情况下已经足够了格式稳定性