【问题标题】:duplicate symbol linker error when adding crashlytics and fabric添加 crashlytics 和结构时出现重复符号链接器错误
【发布时间】:2016-07-21 08:55:40
【问题描述】:

我在 pod 文件中同时添加 Fabric 和 Crashlytics。当我更新 pod 时,我收到带有重复符号的链接器错误。我在这里发现它在 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)

提前致谢。

【问题讨论】:

标签: ios xcode7 linker-errors crashlytics twitter-fabric


【解决方案1】:

1.删除(并移至垃圾箱)Fabric.framework 和任何已安装的 Fabric 套件及其相关资源。

  1. 在项目中执行清理和深度清理 (ALT-SHIFT-CMD-K)

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

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

注意:如果您需要 Crashlytics 和 Answers,您应该只安装 pod 'Crashlytics',因为 Answers 包含在 Crashlytics 中。如果您想要没有 Crashlytics 的 Answers,请仅安装 pod 'Answers'。

希望能解决您的问题。如果所有失败尝试删除所有 pod 并按该顺序再次添加它们。 祝你好运!

【讨论】:

  • 删除 Answers 窗格对我有帮助!谢谢乔治!
  • 谢谢你! Fabric.io 页面说要同时添加两者。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多