【问题标题】:How to solve "duplicate symbol" when added Firebase in Xcode在 Xcode 中添加 Firebase 时如何解决“重复符号”
【发布时间】:2017-06-11 18:44:36
【问题描述】:

我无法解决“重复符号”错误。

错误是

duplicate symbol _GSDK_NSClassFromString in: .../Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
 /Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)

duplicate symbol _GSDK_objc_getClass in: .../Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
/Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)

duplicate symbol _GSDK_objc_getProtocol in:    ...Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
    .../Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)

duplicate symbol _GSDK_objc_lookUpClass in:        ...Pods/FirebaseCore/Frameworks/FirebaseCore.framework/FirebaseCore(overload_9ea29fd47bf44ee000bc4282b65dac06.o)
    ...Pods/GoogleSymbolUtilities/Frameworks/frameworks/GoogleSymbolUtilities.framework/GoogleSymbolUtilities(overload.o)

ld: 4 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我更新并安装了 Podfile。但它没有用。

Pod 文件

target 'game' do

  # Pods for game
  pod 'Firebase'
  pod 'Firebase/AdMob'
end

我之前可以添加 Firebase。但是当我不小心删除“FirebaseCore.framework”时。 之后我删除了 Pods 并重新安装了 Firebase,但没有成功。

我该如何解决?

【问题讨论】:

  • 我在这里遇到了同样的问题,因为 Firebase 3.4.7
  • 您的项目包含与 firebase pod 中相同的文件 .. 所以您手动删除 Build Phase 文件中的相同文件。
  • 我在构建阶段找不到相同的文件。即使我重新安装并更新了 firebase,也会导致同样的错误。
  • 我也有同样的问题,任何进展,当我升级到 3.4.7 时发生
  • 好的,我认为这可能是 Firebase 3.12.0 中的某种错误,因为当我降级到 Firebase 3.11.0 时一切都很好,无论是错误还是我的某种项目配置我失踪了。

标签: ios objective-c swift xcode firebase


【解决方案1】:

我有同样的问题。似乎是其他链接器标志中的 -all_load 标志导致了这种情况。

【讨论】:

    【解决方案2】:

    3.11.1 中引入了一个 Firebase 构建问题,该问题将在 3.13.0 中修复,该问题可能导致重复符号问题。同时,一种解决方法是备份到 Firebase 3.11.0,方法是在 podfile 中使用明确的版本号注释任何 Firebase 子规范,例如:

    pod 'Firebase/Analytics', '3.11.0'
    

    【讨论】:

    • 除了这篇文章之外,我们还有什么地方可以公开跟踪该问题的进展?
    • @DesignatedNerd Firebase 3.13.0 今天发布,应该会解决重复符号问题。
    • @PaulBeusterien 你知道这个问题是否在最近的版本中得到了修复?
    • @Gordonium 是 - 已在 3.13.0 中修复
    【解决方案3】:

    我解决了这个问题

    1. 从我的 podfile 中删除所有内容并运行 pod install
    2. 将所有内容放回我的 podfile 并运行 pod install

    这是唯一对我有用的东西。

    【讨论】:

      猜你喜欢
      • 2022-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 2015-01-09
      相关资源
      最近更新 更多