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

时间:2016-04-16 07:52:28

标签: ios xcode alamofire carthage

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

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

enter image description here

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

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

3 个答案:

答案 0 :(得分:35)

您使用的是正确版本的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版本编译所有框架。

答案 1 :(得分:1)

我正在使用cocoapods.I只需右键单击错误的框架,在Finder中显示,删除它,然后再次构建项目,解决问题。

答案 2 :(得分:-1)

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

  • 打开终端
  • cd project / directory
  • carthage build

然后清理xcode项目并运行!