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

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


当前回答

我的问题是架构x86_64有5个重复的符号。在阅读了这篇文章和他们的回答之后,我尝试用通用的解决方案将GCC_NO_COMMON_BLOCKS = YES改为NO

但是,我没有为我工作,而是从5份拷贝变成了1份…

所以,我注意到最后一个错误,我意识到我的问题是什么,这是一个“不兼容”与这些包(我有在package.json):

rn-fetch-blob
react-native-blob-util

这个消息很清楚,我删除了rn-fetch-blob,因为我不知道为什么它在我的项目中,但是,我只是开玩笑地使用并删除它,这不是一个问题。

所以,在取出包装后,再次运行纱线,问题解决了……并且不需要改变GCC_NO_COMMON_BLOCKS

其他回答

我今天也有这个毛病。这是因为我在.m文件中定义了一个const值。但我定义了另一个.m文件,其中也包含这个const值。这意味着它有两个相同的const值。所以出现了这个错误。 我的解决方案是在const值之前添加一个关键字“static”。如:

static CGFloat const btnConunt = 9;

然后我构建项目,它不会报告这个错误。

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

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

当您链接任何库或文件两次时,通常会出现此错误。在错误描述中,将列出复制文件的名称,您可以搜索并确保没有复制文件。如果你发现重复的,为了安全起见,删除对其中一个的引用

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

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

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

在我的例子中,我只是创建了一个头文件来定义像这样的常量字符串:

NSString *const AppDescriptionString = @"Healthy is the best way to keep fit";

我通过使用静态来解决这个问题:

static NSString *const AppDescriptionString = @"Healthy is the best way to keep fit";