Ошибка компоновщика в 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
Как очистить эту ошибку?
Ответы
Ответ 1
Если вы ошибаетесь, вы используете sdk, который только что был выпущен Facebook на 10 сентября 2015 года, который называется FacebookSDKs-iOS-20150910.zip. Попробуйте использовать sdk, который был выпущен 13 августа 2015 года, который называется FacebookSDKs-iOS-20150813.zip и сообщите Facebook о проблеме дублирования, если сможете. Спасибо.
Ответ 2
Этот поток объясняет, что вы должны скомпилировать SDK Facebook 4.6.0 в Xcode 7, чтобы решить проблему. После компиляции в Xcode 7 это сработало для меня.
В Facebook iOS SDK 4.6.0 добавлена поддержка Thinning (Bitcode) приложения, и поэтому она не может быть выполнена в версиях Xcode ниже Xcode 7.0.
Ответ 3
Когда у меня была ошибка с повторяющимися символами, я открыла XML файл project.xcodeproj в текстовом редакторе и искал дубликат символа. Скорее всего, вы обнаружите, что FacebookSDK отображается в нескольких строках с тем же свойством "id". Убедитесь, что у вас есть резервная копия вашего текущего проекта, и попробуйте удалить дубликаты (те, которые имеют одинаковый идентификатор) вручную в этом файле. Сохраните файл, скомпилируйте и посмотрите, выполняется ли проект.
Вы можете попробовать просто удалить одну повторяющуюся строку и посмотреть, снижается ли число дубликатов (видимо, у вас есть 102!).
Ответ 4
Ответ 5
Я столкнулся с той же проблемой дублированных символов. Я использовал Xcode 6.4, но позже, когда я обновился до Xcode 7.0, он работал отлично для меня. Я бы предложил обновить ваш Xcode до 7.0, если вы используете более ранний.