链接器命令失败:体系结构 arm64 的重复符号

linker command failed: duplicate symbol for architecture arm64

我在 运行 我的项目中遇到此错误。我参考了很多答案并做了同样的但无法解决这个问题。

duplicate symbol _kReachabilityChangedNotification in:
/Users/admin/Downloads/workRepo/SafetraxApp/MAppIOS/build2/Safetrax/Build/Intermediates/Safetrax.build/Debug-iphoneos/Parent App.build/Objects-normal/arm64/Reachability.o
Pods/catapush-ios-sdk-pod/CatapushKit/libCatapushLib.a(CLIntReachability.o)
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我假设您使用的是 Apple 的 Reachability 片段。不幸的是,这段代码和伴随的常量被用在几个 Cocoapods 中。这就是导致此错误的原因。这基本上意味着 symbol/constant kReachabilityChangedNotification 在您的二进制文件中定义了两次:一次在您的应用程序中,一次在 CatapushKit pod 中。

最简单的修复方法是:重命名代码中的常量。另一种选择是从您的应用中删除 Reachbility 代码并使用 CatapushKit.

中的 CLIntReachability 实现