模块文件是由旧版本的编译器创建的

Module file was created by an older version of the compiler

使用 Carthage 管理我的依赖项,在模拟器中一切运行良好。

但是,在为设备构建时出现以下错误:

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

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

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

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

此外,当您使用 carthage update 时没有 --no-use-binaries 选项然后它会下载可能使用旧版本构建的预构建框架xcode构建。

另一种方法是使用 carthage update --no-use-binaries。这样它将编译所有框架,并在您的 Mac.

上安装最新的 Xcode 版本

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

  • 打开终端
  • cd project/directory
  • 迦太基建造

然后清理 xcode 项目和 运行!

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