6 повторяющихся символов для архитектуры i386

duplicate symbol _OBJC_METACLASS_$_SBJsonParser in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_CLASS_$_SBJsonParser in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.sortKeys in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.humanReadable in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_METACLASS_$_SBJsonWriter in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_CLASS_$_SBJsonWriter in:
    /Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
    /Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Скажите, пожалуйста, как решить эту проблему?

Ответ 1

Как вы видите, компоновщик жалуется, что SBJsonWriter и SBJsonParser оба определены в libfacebook_ios_sdk.a и как отдельные файлы в вашем проекте.

Вы не можете решить проблему, кроме удаления отдельных файлов из вашей цели.

Проблема в том, что разработчики libfacebook_ios_sdk.a подумали, что было бы неплохо использовать json framework (не заботясь о столкновениях с кодом, используемым в хост-приложении). Это обычная проблема с SDK на iOS.

Ответ 2

У меня были проблемы, пожалуйста, следуйте указаниям.

  • Перейти к целевому приложению
  • Источники компиляции
  • Удалить дубликат файла с помощью (-). enter image description here

Ответ 3

Проблема, скорее всего, связана с опечаткой при включении заголовка. Проверьте, чтобы заголовочный файл (.h) был включен, а не файл реализации (.m).

Это было для меня проблемой

Ответ 4

Что-то, что часто помогает, если ничего другого не работает, - это открыть файл .pbxcodeproj с текстовым редактором и grep для имени класса, который появляется в журнале сбоев в Xcode. Может быть две повторяющиеся строки - удалить один из них.

Ответ 5

Вы должны добавить в проект дважды SBJsonParser.h/.m.

Ответ 6

Кажется, у вас, вероятно, есть некоторый .h/.m файл, включенный дважды, включая дважды включенный сторонний API/библиотеку, или вы создали новый файл, имя которого точно так же, как и уже доступный файл в проекте. Проверьте, есть ли у вас файлы, которые дублируются в папке проекта.

Ответ 7

Вы также можете:

  • Скопируйте .h файлы конфликта pods.
  • Удалите этот конфликт pods из podfile.
  • Скопируйте эти файлы .h в проект.
  • Переименуйте в #import </.h> в ".h" скопированные файлы .h.
  • Сделайте pod install и bulid.

Трюк вашего кода не имеет ошибки, потому что .h файлы импортированы, но .o файлы правильно связаны.

Ответ 8

если вы дважды импортируете какой-либо из вашего файла .h.

Например Если вы импортируете любой файл .h, оба файла... ViewController.h и.... ViewController.m это произойдет.

Ответ 9

Если вы не решите свою проблему, проверьте, объявляете ли вы константу в двух разных файлах (я имею в виду проверку, есть ли у вас два одинаковых файла (.h &.m). Дублировать файлы не должно быть в вашем проекта.