【问题标题】:Module compiled with Swift 2.3 cannot be imported in Swift 3.0使用 Swift 2.3 编译的模块无法在 Swift 3.0 中导入
【发布时间】:2016-09-14 07:22:31
【问题描述】:

我将 Facebook SDK (Swift) 添加到我的项目中。 现在我更新了 Xcode 8 和 Swift 3。 我的构建时间有错误

Module compiled with Swift 2.3 cannot be imported in Swift 3.0 

不支持很奇怪。 有没有人遇到过类似的问题?

【问题讨论】:

  • 您是否检查过是否有更新的适用于 Xcode 8 的 Facebook SDK 可用?
  • 是的,我检查了它,我做了carthage update

标签: facebook swift3 xcode8 swift2.3


【解决方案1】:

记得为你的项目目标设置Use Legacy Swift Language VersionYES

您是在 2.3 而不是 3.0 中构建项目

【讨论】:

  • 对于不同的模块SinchVerification-Swift,我有同样的错误。更新旧版没有帮助。我已经做了pod update 并得到了最新的。有解决办法吗?
  • 嗨,使用旧版对我不起作用。但我尝试carthage update 这也不起作用。我使用 Carthage 作为依赖项。
  • 作为@subjective_c,Facebook 将很快发布 swift 2.3 版本。就我个人而言,这个错误出现在ObjectMapper 中,并为我将标志Use Legacy Swift Language Version 设置为YES...
【解决方案2】:

请记住,如果您想使用 Swift 3 作为主要项目的语言,您必须使用 Swift 3 或 Swift 2.2- 的 pod。如果您尝试使用 Swift 2.3 项目,它们将无法编译(如您描述的错误)。

因此,最好的办法是使用 Swift 3 pod 或 Swift 2(2.1 或 2.2)pod 并为该特定 pod 选择 Use Legacy SLV(在您要使用的特定目标的“Pods”构建设置中)。

【讨论】:

    【解决方案3】:

    尝试删除/tmp/Build/Products/.../tmp/Build/Intermediates/...下的所有文件并重新构建。

    【讨论】:

      【解决方案4】:

      这可能有点晚了,但是将设置更改为“是”和“否”并没有帮助我,只是从模拟器中清除我的派生数据就可以让一切正常。

      【讨论】:

        【解决方案5】:

        目前,Facebook SDK 支持not yet 支持使用 Swift 3.0 编写的项目。

        您可以在他们的 Github 上订阅几个 issues 以获取更新。

        您现在必须使用 Swift 2.3。 Facebook 表示,它计划在 GM 发布后不久发布更新,这已经发生,因此可能会在接下来的几周内发布。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-03-08
          • 2017-04-05
          • 2017-03-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-03-25
          相关资源
          最近更新 更多