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

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


当前回答

我在安装alamofires pod后得到了这个错误,但alamafire已经通过xcode的File/Add Packages....作为包安装在我删除了这个包并将其从目标/通用/框架中删除后,错误消失了…

其他回答

你能试着清除插件文件夹下的所有插件吗?

这对我很管用

架构x86_64的75个重复符号

意味着您已经加载了相同的函数两次。 当从其他链接标志中删除-ObjC后,问题消失了, 这意味着这个选项的结果是函数加载两次:

来自技术问答

这个标志使链接器加载库中的每个对象文件 它定义了一个Objective-C类或类别。而这个选项 通常会导致更大的可执行文件(由于额外的目标代码) 加载到应用程序中),它将允许成功创建 有效的包含类别的Objective-C静态库 现有的类。

https://developer.apple.com/library/content/qa/qa1490/_index.html

当我在两年前用Objective-C开发的项目中接受“推荐设置”弹出时,我就遇到了这种情况。

问题是当你接受“推荐设置”更新时,Xcode会自动更改或添加一些构建设置,包括GCC_NO_COMMON_BLOCKS = YES;。

这使得构建失败与重复的符号错误在我更新的项目。所以我在我的构建设置中将No Common Block更改为No,错误就消失了。

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

#import "ViewController.m"

上面提到的答案都没有帮助,因为我在pods和本地存储的框架中有类似的错误,看起来像这样,

duplicate symbol '_OBJC_METACLASS_$_EZAudioDevice' in:
    /Users/(yourUserName)/Desktop/Source Code/(yourProjectName)/Pods/AudioKit/iOS/AudioKit.framework/AudioKit(EZAudioDevice.o)
    /Users/(yourUserName)/Desktop/Source Code/(yourProjectName)/ChirpSDK.framework/ChirpSDK(EZAudioDevice.o)

所以修复是定位/Users/(yourUserName)/Desktop/Source Code/(yourProjectName)/Pods目录在项目中,你会发现这两个文件,即,

豆荚- (yourProjectName) xcconfig调试。 豆荚- (yourProjectName) xcconfig发行。

在这两个文件中,你需要删除OTHER_LDFLAGS = $(inherited)下的-ObjC标志,删除这个的理由与这里已经提到的相同