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

时间:2017-04-05 18:22:52

标签: swift xcode swift3 swift3.1

Swift 3.1问世,我在项目中收到此错误消息:

  

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

那么如何告诉Xcode开始更新我的项目并将其迁移到Swift 3.1?

3 个答案:

答案 0 :(得分:8)

您可能包含第三方框架/库。这些是需要更新/重新编译的。如果您使用Carthage或Pods,您应该重建这些库并将它们提供给您的应用程序。问题不在于你的代码。编译时,它将编译为3.1

答案 1 :(得分:3)

etayluz

将您的Xcode升级到8.3,您的Swift版本将是3.1

我使用Carthage再次更新库/框架,选项 - no-use-binaries

carthage update --no-use-binaries

答案 2 :(得分:1)

这些步骤对我有所帮助。

当您的Xcode不支持某些版本的第三方依赖项时,有时会发生这些事情。 尝试使用与Xcode版本兼容的第三方依赖项的正确版本。

  1. 清除Xcode中的派生数据。 Xcode - >档案 - >工作区设置 - >单击“派生数据”旁边的灰色箭头标记。
  2. 运行carthage version检查carthage版本。它应该高于0.20.0。在终端中运行carthage update --platform iOS --no-use-binaries。摆脱兼容性问题。
  3. 清理您的项目。 Command + Shift + K.然后构建并运行。