iOS中的链接器错误(体系结构x86_64的重复符号)

我继续得到以下错误:

duplicate symbol _llvm.embedded.module in: /Users/name/Documents/FacebookSDKs-iOS-20150910/FBSDKCoreKit.framework/FBSDKCoreKit(FBSDKApplicationDelegate.o) /Users/name/Documents/FacebookSDKs-iOS-20150910/FBSDKCoreKit.framework/FBSDKCoreKit(FBSDKServerConfiguration.o) ld: 102 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我已经尝试删除FBSDK并重新安装,但没有工作。 我也怀疑,我将这个框架连接到Swift可能是个问题。 我的桥接头包含以下内容:

 #ifndef EggCrush_Bridge_h #define EggCrush_Bridge_h #import <FBSDKCoreKit/FBSDKCoreKit.h> #endif 

我的AppDelegate.swift文件导入FBSDKCoreKit。
没有其他链接器标志。
我正在运行Xcode 6.3.2并为iOS 8.3构build一个项目

如何清除这个错误?

如果没有弄错的话,你使用的是Facebook于2015年9月10日发布的sdk,名称为FacebookSDKsi-iOS-20150910.zip 。 尝试使用2015年8月13日发布的sdk,命名为FacebookSDKsi-iOS-20150813.zip ,如果可以的话,向Facebook报告重复问题。 谢谢。

这个线程解释了你必须在Xcode 7中编译Facebook 4.6.0 SDK来解决这个问题。 在Xcode 7编译后,它为我工作。

在Facebook iOS SDK 4.6.0中,添加了应用程序细化(位码)支持,因此在Xcode 7.0以下的Xcode版本中不能编译。

当我有一个重复的符号错误,我打开我的project.xcodeproj XML文件在文本编辑器中search重复的符号。 你很可能会发现,FacebookSDK显示在同一个“ID”属性的多行。 确保你已经备份了你的当前项目,并且尝试在这个文件中手动删除重复项(具有相同ID的项)。 保存文件,编译并查看项目是否运行。

你可能想尝试只删除一个重复的行,看看重复的数量(显然你有102 !!)首先下降。

  1. 如果您使用FacebookSDKsi-iOS-20160115.zip和XCODE版本XCODE 6.4或更低版本的XCODE,则会创build此类问题。
  2. FacebookSDKsi-iOS-20160115.zip这是用于XCODE 7
  3. 您可以使用https://developers.facebook.com/resources/FacebookSDKs-iOS-20150813.zip
  4. 它的工作适合你。

我面临同样的重复符号问题。 我正在使用Xcode 6.4,但后来当我升级到Xcode 7.0它工作得很好。 如果您使用的是较早的版本,我build议将您的Xcode升级到7.0