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

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


当前回答

上面的答案对我不起作用。下面是我解决这个问题的方法:

1)在finder中,删除整个Pods文件夹和Podfile。锁文件 2)关闭xcode项目 3)在终端运行pod install 4)打开xcode项目,运行clean build命令

在那之后为我工作。

其他回答

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

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

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

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

祝贺一切顺利!

另一个会导致此错误的愚蠢错误是重复文件。我不小心复制了一些文件两次。首先我去了目标->构建阶段->编译源代码。在那里,我注意到列表上的一些文件两次以及它们的位置。

在我的例子中,我将我的核心数据模型的实体命名为对象。 我定义了一个对象"Event。h"同时我有了这个实体"Event"我最终重命名了实体。

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

pod 'SWRevealViewController'

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

案例2:

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

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

上面提到的答案都没有帮助,因为我在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标志,删除这个的理由与这里已经提到的相同