【问题标题】:Module file was created by an older version of the compiler模块文件是由旧版本的编译器创建的
【发布时间】:2016-08-08 06:45:46
【问题描述】:

使用 Carthage 管理我的依赖项,在模拟器中一切正常。

但是,在为设备构建时,我收到以下错误:

Module File was created by an older version of the compiler; rebuild Alamofire and try again: .../DerivedData/Build/Products/Debug-iPhones...

我已经尝试过其他人对类似问题的建议:删除我的派生数据、重新安装 Carthage 和重建框架。但是,错误一直存在。

【问题讨论】:

  • 您在 Mac 上使用多个 Xcode 吗?
  • @RahulKatariya 不,只是 Xcode 的最新官方版本(非测试版)
  • 你在运行 xcode-select -p 时看到了什么?如果你想使用 Xcode 7 中的框架,它应该指向 Xcode 7。
  • @RahulKatariya 它指向 7.3
  • 您是否使用带有 --no-use-binaries 选项的 carthage 更新?

标签: ios xcode alamofire carthage


【解决方案1】:

您使用的是正确版本的 xcodebuild 吗?当你运行 xcode-select -p 时你看到了什么?如果你想使用 Xcode 7 中的框架,它应该指向 Xcode 7。

删除所有派生数据rm -rf ~/Library/Developer/Xcode/DerivedData/ && carthage build

另外,当您使用carthage update 不带 --no-use-binaries 选项时,它会下载可能使用旧版本 xcodebuild 构建的预构建框架。

另一种方法是使用carthage update --no-use-binaries。这样,它将使用您 Mac 上安装的最新 Xcode 版本编译所有框架。

【讨论】:

  • 我按照这些步骤(使用 carthage build)并成功构建。
  • 谢谢,这对我有用。但是,由于我使用的是 CocoaPods 而不是 Carthage,所以我必须执行 pod deintegratepod update 来重新安装框架。
【解决方案2】:

您可以尝试通过命令行重新构建框架:

  • 打开终端
  • cd 项目/目录
  • 迦太基构建

然后清理xcode项目并运行!

【讨论】:

    【解决方案3】:

    我正在使用cocoapods。我只是右键单击错误的框架,在Finder中显示它,将其删除,然后重新构建项目,解决问题。

    【讨论】:

      猜你喜欢
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2017-02-04
      • 2017-06-11
      • 2015-09-17
      • 1970-01-01
      • 2015-11-09
      • 2022-01-07
      相关资源
      最近更新 更多