2015-09-11 42 views
20

我不断收到以下错误:连接错误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

如何清除此错误?

+0

如果什么都不能做,请尝试更新到Xcode 6.4。 – anhtu

+0

不幸的是,那并没有做任何事情。 – Dan

+0

太奇怪了。你有没有尝试下载并使用另一个FBSDK? – anhtu

回答

50

如果没有错,您使用的是由Facebook于2015年9月10日发布的sdk,其名称为FacebookSDKs-iOS-20150910.zip。尝试使用2015年8月13日发布的sdk,并命名为FacebookSDKs-iOS-20150813.zip,并在可能的情况下向Facebook报告重复问题。谢谢。

+0

这工作。确保删除对20150910框架的任何旧的引用和/或删除DerivedData缓存。 – ricardohdz

+0

这也适用于我在iOS 8.4模拟器上运行xcode 6.4。非常感谢 – justColbs

+0

我只在模拟器中得到这个:(( –

2

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

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

+0

我其实没有看到任何FacebookSDK实例。它应该自动在那里吗? – Dan

25

This thread说明您必须编译Xcode 7中的Facebook 4.6.0 SDK才能解决此问题。在Xcode 7编译后,它为我工作。

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

+3

这绝对是正确的答案! –

+0

同意,谢谢队友! – xGoPox

+0

@关川和Aravind Mariappan答案应该合并! – Naeem

0

我面临同样的重复符号问题。我正在使用Xcode 6.4但稍后当我升级到Xcode 7.0它适用于我。如果您使用较早的版本,我建议将您的Xcode升级到7.0

相关问题