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

    /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到其他链接器标志。在删除这个值之后,我可以成功地构建我的项目,但我不知道为什么。有人能解释一下吗?


当前回答

我只是简单地卸载了我所有的豆荚,并重新安装。我还扔掉了一些没用过的豆荚。

其他回答

我对这个错误的问题是Podfile。 我正在使用Firebase,他们的一个豆荚就是问题所在。

我从Podfile中删除了所有的firebase pod 通过在终端中运行此代码删除了派生数据。 rm -rf ~/Library/Developer/Xcode/DerivedData/ 然后一个接一个地重新安装我需要的吊舱。

当我添加一个pod存储库时,我得到了同样的错误

pod 'SWRevealViewController'

对于已经添加的源代码(SWRevealViewController)从gitHub。因此,该错误将通过删除源代码或pod存储库来修复。

案例2:

第二次,当我在.h文件中声明一个常量时,出现了这个错误。

NSString * const SomeConstant  = @"SomeValue";
@interface AppDelegate : UIResponder <UIApplicationDelegate> {
...
...

对我来说,将“无通用块”从“是”更改为“否”(在目标->构建设置->Apple LLVM -代码生成下)解决了这个问题。

1.进入构建阶段

2.搜索文件名

3.删除重复的

->错误将自动恢复。

如果没有,试着搜索“文件”。M ",如果你看到任何#import "文件。M ",清除这条线

最近在寻找错误的来源时非常头疼。我很好奇,当我发现我的应用程序不想编译,只是因为我在不同的类中有以下代码片段:

dispatch_time_t getDispatchTimeByDate(NSDate *date)
{
    NSTimeInterval interval;
    double second, subsecond;
    struct timespec time;
    dispatch_time_t milestone;


    interval = [date timeIntervalSince1970];
    subsecond = modf(interval, &second);
    time.tv_sec = second;
    time.tv_nsec = subsecond * NSEC_PER_SEC;
    milestone = dispatch_walltime(&time, 0);

    return milestone;
}

希望这能帮到别人。