我现在也有同样的问题,但还没有找到正确的答案。我得到了错误:

    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
duplicate symbol _OBJC_METACLASS_$_MoboSDK in:
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Intermediates/TestMoboSDK-Client.build/Debug-iphonesimulator/TestMoboSDK-Client.build/Objects-normal/x86_64/MoboSDK.o
    /Users/nle/Library/Developer/Xcode/DerivedData/TestMoboSDK-Client-cgodalyxmwqzynaxfbbewrooymnq/Build/Products/Debug-iphonesimulator/libMoboSDK.a(MoboSDK.o)
ld: 75 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

任何帮助都是感激的。

最后,我找到了这个错误的原因,因为我添加了-ObjC到其他链接器标志。在删除这个值之后,我可以成功地构建我的项目,但我不知道为什么。有人能解释一下吗?


当前回答

对于其他有这个问题的人,我在这些答案中都没有看到我的解决方案。

在手动处理了.pbxproj合并冲突后(尽管很糟糕),在.pbxproj中有对单个类文件的重复引用。从项目>构建阶段>编译源代码删除这些为我修复了一切。

希望这能帮到你。

其他回答

确保您没有意外导入.m文件,您可能想要在项目窗口中删除派生数据,然后重新构建和运行。

所以,我已经通过删除与Fabric相关的pod来解决这个问题,因为它与Crashlitics pod相冲突,因为它们实际上是相互复制的,因为Fabric只是Crashlitics的旧版本

确保你没有导入[ViewController。M]而不是头文件

#import "ViewController.m"

当我将lob项目集成到我的项目中时,同样的问题也发生在我身上。

实际上,lob项目也有AFNetworking文件, 所以我从lob项目中删除了。m文件。

实际上。m文件与我的项目POd/AFNetworking/ .m文件冲突

我在Xcode 7.3中打开的一些遗留项目的情况是:

duplicate symbol _SomeEnumState in:

下面是两个不相关的文件。哦,然后这句话重复了几次,最后:

ld: 8 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

为我解决它的是改变枚举声明:

enum SomeEnumState {
    SomeEnumStateActive = 0,
    SomeEnumStateUsed = 1,
    SomeEnumStateHidden = 2
} SomeEnumState;

:

typedef NS_ENUM(NSUInteger, SomeEnumState) {
    SomeEnumStateActive = 0,
    SomeEnumStateUsed = 1,
    SomeEnumStateHidden = 2
};

如果有人对此有解释,请开导我。