架构i386 Facebook SDK的未定义符号

时间:2014-11-06 07:18:26

标签: ios objective-c xcode facebook

我在xCode 5.1.1中创建了一个新的标签式iOS应用程序。我做过研究,但没有一个解决方案对我有用。所以我最终从xCode 6.1迁移到xCode 5.1.1。但问题仍然存在,我现在不知道。也许需要更改架构i386中的设置。但我不知道怎么做。

错误:

  

架构i386的未定义符号:
  " _OBJC_CLASS _ $ _ ASIdentifierManager",引自:         fBAudienceNetwork(FBAdUtility.o)​​中的objc-class-ref" _OBJC_CLASS _ $ _ CMMotionManager",引自:         fBAudienceNetwork(FBAdAnalogInfo.o)中的objc-class-ref ld:未找到架构i386 clang的符号:error:linker命令   退出代码1失败(使用-v查看调用)

构建设置

  

标准架构(armv7,armv7s,arm64) - $(ARCHS_STANDARD)

     

仅构建活动架构:是/否


更新

添加CoreMotion和AdSupport框架后,错误已减少。但又遗漏了一个错误:

missing required architecture x86_64 in file {DIRECTORY}/FacebookSDK/Bolts.framework/Bolts (2 slices)
duplicate symbol _OBJC_IVAR_$_AppDelegate._window in

当前框架:

  • CoreMotion
  • AdSupport
  • CoreGraphics中
  • FacebookSDK
  • 的UIKit
  • FBAudienceNetwork
  • 基金会
  • 螺栓

4 个答案:

答案 0 :(得分:5)

您需要链接

AdSupport.framework  
CoreMotion.framework  

答案 1 :(得分:4)

将FacebookSDK拖入Xcode项目的Frameworks组后,您是否删除了Sample文件夹?我有同样的问题,这是因为Xcode也试图编译所有的样本。删除了Samples文件夹 - 一切都可以作为魅力 - 无需添加AdSupport或任何其他框架。

答案 2 :(得分:0)

您可能没有添加AdSupport.framework

将架构的属性设置为如下图像..

enter image description here

enter image description here

答案 3 :(得分:0)

删除示例文件夹。清洁和建设。会像魅力一样工作。