Apple Mach-O链接器错误(架构armv7的重复符号)

Apple Mach-O Linker Error(Duplicate Symbols For Architecture armv7)

本文关键字:符号 armv7 架构 链接 Mach-O 错误 Apple      更新时间:2023-10-16

以下是错误:

duplicate symbol _OBJC_METACLASS_$_BFAppLinkReturnToRefererView in:
    /Users/User/Documents/FacebookSDK/FacebookSDK.framework/FacebookSDK(BFAppLinkReturnToRefererView.o)
    /Users/User/Desktop/Project/Project/Project/Assets/Facebook/Editor/iOS/FacebookSDK/FacebookSDK.a(BFAppLinkReturnToRefererView.o)
ld: 889 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我一直在寻找这个错误的解决方案,但我找不到。类似的错误有很多,但这个还没有人问过。当我将"-OjC"添加到"其他链接器标志"时,就会出现这个问题。我需要添加它才能使用Admob服务。可能是什么问题?我该如何解决这个问题?

我在集成Facebook ios sdk时遇到了同样的问题。这是因为我使用了另一个第三方库,该库也链接了Bolts.framework。我找到的解决方案是从Github上托管的源代码中合并facebook-ios-sdk。链接:https://github.com/facebook/facebook-ios-sdk在系统上克隆此repo,并在src目录中打开facebook-ios-sdk.xcodeproj,构建阶段选项卡,然后将"必需"字段更改为"可选"。从scripts目录运行脚本build_framework.sh,将build目录中新创建的FacebookSDK.framework集成到您的项目中。

对于任何其他这种冲突的框架错误,都可以遵循相同的过程。