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

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


当前回答

找到副本的最快方法是:

寻找目标 进入构建阶段 转到编译源 删除重复的文件。

其他回答

这个答案适用于Xcode 12.5.1,在2021年为我工作

关闭Xcode项目。 进入您的项目目录,如果您使用flutter,不要忘记在项目文件夹中获取“ios”文件。 删除[Pods, Podfile, Podfile.lock]。 运行终端。 转到项目目录。

如果你使用的是swift,你就完成了,跳转到xcode并运行应用程序,如果你使用的是flutter,则继续

把颤振清理干净 跑扑酒吧得到。 跑,扑,跑。在使用颤振运行命令之前,不要忘记运行模拟器。

祝贺一切顺利!

我的错误是在头文件中实现了函数。 头文件中的函数定义和代码文件中的函数实现之间应该有明确的区分。

例如,我有这样的东西:

my_header.h

#ifdef my_header_h
#define my_header_h

int foo() { return 123; }

#endif // my_header_h

应该是:

#ifdef my_header_h
#define my_header_h

int foo();

#endif // my_header_h

从其他链接标志中删除-all_load。它对我的项目有效

因为我还没有看到这个答案:

卸载并重新安装您的podfiles!删除或卸载之前添加的库:cocoapods

我已经遇到这个问题超过3次构建我的应用程序,每次这是什么解决它。:)

在XCode中打开你的项目

您将看到侧边栏现在聚焦于所附的图像。

搜索你遇到问题的特定SDK或任何重复文件。

您将看到您已经添加了任何文件两次。

删除那个文件,你的问题就解决了。

注意:您必须将文件从您错误添加的位置删除。

例如

注意:只需从框架中删除FBSDKCoreKit即可

祝你好运