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

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


当前回答

对我来说,在Xcode8推荐的项目设置中将“No Common Blocks”更新为YES,这导致了这个问题。

其他回答

以下步骤为我解决了这个问题。

进入“目标设置”中的“构建阶段”。 转到“用库链接二进制”。 检查是否有库存在两次。 再次构建。

在我的情况下,我把构建系统改为遗留系统,它工作了。

您可以在菜单中访问此选项:

文件>工作空间设置>构建系统

我试着遵循这些步骤,现在对我有用了。

打开Xcode > Pods >目标支持文件> Pods-{TARGET-NAME} 找到“OTHER_LDFLAGS”,只删除这两个文件中的“-ObjC”: 豆荚-{目标名}.release。xcconfig & Pods-{TARGET-NAME}.debug.xcconfig 转到项目主目标>构建设置>其他链接器标志: 确保值中没有“-ObjC” 我删除了ios中的build/ build文件夹,并再次运行ios。现在起作用了。

所以,我已经通过删除与Fabric相关的pod来解决这个问题,因为它与Crashlitics pod相冲突,因为它们实际上是相互复制的,因为Fabric只是Crashlitics的旧版本

如果你来这里是为了一个React Native项目,那么请点击下面的链接,

Targets -> <Your-App> -> Build Settings -> Dead Code Stripping

调试时从No更改为Yes。

附注:这种方法适用于React Native项目,不确定它是否也适用于本地项目。