Cocoapods - FirebaseAnalytics 仅在使用 FirebaseCore 时安装
Posted
技术标签:
【中文标题】Cocoapods - FirebaseAnalytics 仅在使用 FirebaseCore 时安装【英文标题】:Cocoapods - FirebaseAnalytics only installed when using FirebaseCore 【发布时间】:2018-10-23 07:04:09 【问题描述】:所以,这个问题不是关于如何解决问题,而是关于它是如何以这种方式工作的。
我想在我的应用中使用 FirebaseMessage 来推送通知,它具有 FirebaseCore 依赖项。我开始只是将 FirebaseMessage 添加到我的 Podfile 中
pod 'Firebase/Messaging'
我安装好了:
Installing Firebase (5.4.1)
Installing FirebaseCore (5.0.6)
Installing FirebaseInstanceID (3.1.1)
Installing FirebaseMessaging (3.0.3)
Installing GoogleToolboxForMac (2.1.4)
Installing Protobuf (3.6.0)
好的,这里的问题是我在构建项目时收到警告,因为缺少 FirebaseAnalytics。没问题,我可以补充:
pod 'Firebase/Messaging'
pod 'Firebase/Core'
然后得到:
Installing Firebase (5.4.1)
Installing FirebaseAnalytics (5.0.1)
Installing FirebaseCore (5.0.6)
Installing FirebaseInstanceID (3.1.1)
Installing FirebaseMessaging (3.0.3)
Installing GoogleToolboxForMac (2.1.4)
Installing Protobuf (3.6.0)
Installing nanopb (0.3.8)
...我得到额外的 nanopb 和 FirebaseAnalytics。
为什么会这样?查看 podspecs,FirebaseCore 没有与 FirebaseAnalytics 相关的依赖项: https://github.com/CocoaPods/Specs/blob/master/Specs/8/b/d/FirebaseCore/5.0.6/FirebaseCore.podspec.json
我想知道是什么告诉 cocoapods 安装 FirebaseAnalytics pod,以及为什么它仅在我专门安装 FirebaseCore 时发生。
【问题讨论】:
【参考方案1】:Firebase/Core
是 Firebase pod 的 Core
子规范。详情见Firebase podspec。
虽然 FirebaseCore pod 不依赖于 FirebaseAnalytics,但 Firebase pod 的 Core 子规范会。
不幸的是,“Core”在 Firebase 术语中被重载,但在不破坏很多应用程序的情况下在这一点上进行更改会很棘手。
【讨论】:
以上是关于Cocoapods - FirebaseAnalytics 仅在使用 FirebaseCore 时安装的主要内容,如果未能解决你的问题,请参考以下文章