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) 

请告诉我如何解决这个问题?

正如你所看到的,链接器抱怨SBJsonWriterSBJsonParser都是在libfacebook_ios_sdk.a中定义的,并且作为项目中的单个文件。

除了从您的目标中删除个别文件,你不能真正解决这个问题。

问题是,libfacebook_ios_sdk.a的开发人员认为使用json框架是一个不错的主意(不要在主机应用程序中使用代码)。 这是iOS上SDK的常见问题。

我已经解决了问题,请按照步骤。

  1. 转到应用程序的目标
  2. 编译源文件
  3. 使用( – )删除重复的文件。 在这里输入图像说明

包含标题时,问题很可能是由于打印错误造成的。 检查以便包含头文件(.h)而不是实现文件(.m)。

这是我的问题

如果没有别的办法,通常会有帮助的是用文本编辑器打开你的.pbxcodeproj文件,用grep打开Xcode中失败日志中的类的名字。 可能有两个重复的行 – 删除其中的一个。

您必须在项目中添加两次SBJsonParser.h / .m。

看起来你可能有一些.h / .m文件包含两次,比如包含了一些第三方API /库两次,或者你创build了一些新的文件,其名称与项目中已有的文件完全相同。 检查你的项目文件夹中是否有任何重复的文件。

你也可以:

  1. 复制冲突pods .h文件。
  2. podfile删除这些冲突pods
  3. 将这些.h文件复制到项目。
  4. #import </.h>重命名为复制的.h文件的".h"
  5. 使pod install和bulid。

诀窍是你的代码没有错误,因为.h文件导入,但.o文件链接正确。

如果您导入任何.h文件两次它发生。

例如,如果您导入任何.h文件…. ViewController.h和…. ViewController.m文件它发生。

如果上面的问题不解决你的问题,检查你是否在两个不同的文件中声明一个常量(我的意思是检查你是否有两个相同的(.h&.m)文件)重复的文件不应该在你的项目中。