Подтвердить что ты не робот

Ошибка компоновщика в 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

Как очистить эту ошибку?

4b9b3361

Ответ 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

  • Если вы используете FacebookSDKs-iOS-20160115.zip и версию XCODE XCODE 6.4 или более низкую версию XCODE, то этот тип проблемы создать.
  • FacebookSDKs-iOS-20160115.zip. Это используется для XCODE 7.
  • Вы можете использовать https://developers.facebook.com/resources/FacebookSDKs-iOS-20150813.zip.
  • Его работа отлично подходит для вас.

Ответ 5

Я столкнулся с той же проблемой дублированных символов. Я использовал Xcode 6.4, но позже, когда я обновился до Xcode 7.0, он работал отлично для меня. Я бы предложил обновить ваш Xcode до 7.0, если вы используете более ранний.