2015-09-11 64 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

相關問題