Knightsy Knightsy - 15 days ago 5
iOS Question

Unable to use Parse library: Parse linker warning: file was built for unsupported file format

As a result symbols aren't being loaded and I cannot use Parse, trying to insert #import gives file not found error. I've followed the quickstart guide on the Parse site for an existing project and have added all the libraries required (e.g. AudioToolbox Framework, etc) so that's not the issue.

The exact warning I get is:


ld: warning: ignoring file /Users/XXXXXXX/Documents/YYYYYYYY/Parse.framework/Parse, file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (i386): /Users/XXXXXXX/Documents/YYYYYYYY/Parse.framework/Parse


The project was created in Xcode 5.02 and is targeting ios 6.1, let me know if any further information is required. I downloaded the Parse starter project and that builds fine, but that seems to have some custom architecture set, so maybe there's a build setting I could try changing in my project?

Answer

I ran the command

xcrun -sdk iphoneos lipo -info Parse

and got

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't figure out the architecture type of: Parse

So it looks like adding the framework somehow corrupted itself, or an xcode 5 bug. I removed the framework and re-added it and it's now working and the above command gives

Architectures in the fat file: Parse are: armv7 armv7s i386 arm64 x86_64