iOS - 添加Firebase Messaging时出现重复符号(与Google Analytics冲突)

时间:2016-06-14 09:13:33

标签: ios google-analytics firebase cocoapods firebase-cloud-messaging

我想将Firebase Cloud Messaging添加到我的项目中,该项目已经有来自Google的其他服务(如Google Analytics)。我正在使用cocoapods并添加到我的podfile中:

pod 'Firebase'
pod 'Firebase/Messaging'

我运行pod install,一切看起来都不错但是当我尝试构建项目时,我得到了许多重复的符号错误:

duplicate symbol _OBJC_CLASS_$_ACPGmpAudienceRoot in:
    .../Pods/Google/Libraries/libGGLCore.a(GmpAudience.pb.o)
    .../Pods/FirebaseAnalytics/Frameworks/FirebaseAnalytics.framework/FirebaseAnalytics(GmpAudience.pb_d68254ec585824fa42de6de2f056cda0.o)
... more and more duplicate symbol errors ...

我该如何解决?为什么使用Messaging还会添加Analytics库?我不需要它。我尝试了清理项目并删除派生数据,但现在没有运气。

3 个答案:

答案 0 :(得分:4)

将您的Google /(Google Analytics)广告版本更新为3.0 我使用的是版本2.0.4,我做了pod update并且更新了以下pod:

  • 安装Google 3.0.3(原为2.0.4)
  • 安装GoogleSignIn 4.0.0(3.0.0)

之后,我可以将Google Analytics与Firebase一起使用

答案 1 :(得分:0)

根据您的使用案例,您可以考虑以下事项:如果您使用Google跟踪代码管理器,则可以与Firebase Analytics集成,如果您希望将应用和网络数据放在一起,则可以使用GTM将事件数据转发到Google Analytics或者出于其他原因想要使用Google Analytics。

答案 2 :(得分:0)

我有完全相同的问题 - 已经在使用Google Analytics的iOS应用,但我想添加Firebase Messaging,这样应用就可以拥有推送通知功能。我将“pod'Firebase / Messaging'”添加到Podfile中,并在编译时遇到相同的链接错误。

许多搜索都显示了这个编译器设置:你的目标 - >构建设置 - Apple LLVM 7.1 - 代码生成 - >没有通用块 - 将其设置为“是”,如下所示:

Build Settings

在Xcode 7.3上,该设置的默认设置似乎是“否”,在进行更改时,所有链接错误消失,应用程序构建没有问题。