Undefined symbols for architecture i386 Facebook SDK
I'm creating a new tabbed iOS application in xCode 5.1.1. I'm had done research but none of the solutions work to me. So I ended up with migration from xCode 6.1 to xCode 5.1.1. But the problem still occur which I have no idea now. Perhaps the settings in architecture i386 need to be changed. But I have no idea how.
Error:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from: objc-class-ref in FBAudienceNetwork(FBAdUtility.o) "_OBJC_CLASS_$_CMMotionManager", referenced from: objc-class-ref in FBAudienceNetwork(FBAdAnalogInfo.o) ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Build Settings
Standard architectures(armv7, armv7s, arm64) - $(ARCHS_STANDARD)
Build Active Architecture Only : YES / NO
Update:
After adding CoreMotion and AdSupport frameworks, errors had been reduced. But left one more error which state:
missing required architecture x86_64 in file {DIRECTORY}/FacebookSDK/Bolts.framework/Bolts (2 slices)
duplicate symbol _OBJC_IVAR_$_AppDelegate._window in
Current Framework:
你需要链接
AdSupport.framework
CoreMotion.framework
Did you remove Sample folder after dragging in the FacebookSDK into Frameworks group of your Xcode project? I had the same issue, and it was because Xcode tried to compile all the samples too. Removed Samples folder - everything works as a charm - no need to add AdSupport or any other framework.
You probably didn't add AdSupport.framework
.
set property for architecture as below image..
链接地址: http://www.djcxy.com/p/69004.html