问题
Using Carthage to manage my dependencies, everything runs fine in the simulator.
However, when building for a device I get the following error:
Module File was created by an older version of the compiler; rebuild Alamofire and try again: .../DerivedData/Build/Products/Debug-iPhones...
I have tried what others suggested to similar issues: deleting my derived data, reinstalling Carthage and rebuilding the frameworks. However, the error has been persistent.
回答1:
Are you using the right version of xcodebuild? What do you see when you run xcode-select -p? It should be pointed at Xcode 7 if you want to use the frameworks in Xcode 7.
Remove all the derive data rm -rf ~/Library/Developer/Xcode/DerivedData/ && carthage build
Also, When you use carthage update
without --no-use-binaries option then it downloads the pre built frameworks which may be built using the old version of xcodebuild.
Alternative way is to use carthage update --no-use-binaries
. This way it will compile all the frameworks with the latest Xcode build installed on your Mac.
回答2:
I am using cocoapods.I just right-click the wrong framework,show it in Finder,remove it,and build the project again,solve the problem.
回答3:
You can try rebuilding the framework by command line:
- Open Terminal
- cd project/directory
- carthage build
then clean the xcode project and run!
来源:https://stackoverflow.com/questions/36661635/module-file-was-created-by-an-older-version-of-the-compiler