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

    /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 14中遇到了同样的问题。清理构建文件夹对我来说很有效。

从“产品”菜单中选择“清洁构建文件夹”选项。

其他回答

我在安装Cocoapods后遇到了这个问题。现在每次我更新一些豆荚。我找到了解决办法:

进入终端:

1) pod deintegrate
2) pod install

同时,在构建设置中选中“Always Embed Swift Libraries”。它应该是“褪色的”,表明它正在使用默认配置。如果设置为手动YES,点击删除将其恢复为默认配置。这制止了这种行为。

删除-ObjC从其他链接标志或 请检查是否误导入了。m文件而不是。h文件。

在Xcode 6.3.2中。我检查了所有的可能性如下

1:我还没有导入。m文件在我的项目。

2:从其他链接标志中删除-ObjC。

3:删除了我所有的衍生数据。

我仍然得到同样的错误。我通过从.pch文件中删除任何变量声明来消除这个错误。在我的情况下,我在.pch文件中声明了AppDelegate对象。最后我找到了导致错误的原因。因此,我从.pch文件和我的项目工作魅力中删除任何变量的声明。

我只是遇到了问题。豆荚分解或移除豆荚文件。锁定方法可能对你有帮助,但试试下面的顺序,这可能比分解pod文件更有帮助

在Podfile中注释所有的pod 运行pod install,它将从项目中删除Pods文件夹 取消Podfile中所有pod的注释 再次运行pod install

找到副本的最快方法是:

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