添加 Crashlytics 和 Fabric 后,出现重复符号链接器错误

16

我正在pod文件中添加Fabric和Crashlytics。当我更新pods时,我会收到链接器错误,指出有重复的符号。我发现Fabric.framework和Crashlytics.framework中都有相同的文件,但我该如何从我的角度解决这个问题?

duplicate symbol _CLSMachOEnumerateSlicesAtAddress in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOFileDestroy in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOFileEnumerateSlices in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOFileInitWithPath in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOGetDylibPath in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOGetEncrypted in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOGetLinkedSDKVersion in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOGetMinimumOSVersion in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOGetUUID in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachONormalizeUUID in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceEnumerateLoadCommands in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceGetArchitectureName in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceGetCurrent in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceGetExecutablePath in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceGetUnwindInformation in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceIs64Bit in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
duplicate symbol _CLSMachOSliceWithHeader in:
    Location/Crashlytics.framework/Crashlytics(CLSMachO.o)
    Location/Pods/Fabric/iOS/Fabric.framework/Fabric(CLSMachO.o)
ld: 17 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

提前感谢。


请查看此链接:https://dev59.com/GnE95IYBdhLWcg3wi-ie - swiftBoy
1个回答

50

1.移除(并将其移到垃圾桶中)Fabric.framework以及任何安装的Fabric kits及其相关资源。

  1. 在项目中进行“清洁”和“深度清洁”(ALT-SHIFT-CMD-K)

  2. 将Fabric pod添加到您的Podfile中:pod 'Fabric'

  3. 为项目使用的每个Fabric kit在Podfile中添加一个pod:pod 'Crashlytics'

注意:如果您需要Crashlytics和Answers,则应仅安装pod 'Crashlytics',因为Answers已包含在Crashlytics中。如果要使用Answers而不是Crashlytics,请仅安装pod 'Answers'。

希望这解决了您的问题。如果所有这些都失败了,请尝试按照顺序删除所有pod并重新添加它们。 祝您好运!


8
移除答案 pod 对我很有帮助!感谢 George! - Lazar Nikolov
谢谢您!Fabric.io页面上说要添加两个。 - Armand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接