Cocoapods-仅在使用FirebaseCore时安装FirebaseAnalytics

时间:2018-10-23 07:04:09

标签: ios firebase cocoapods firebase-analytics

所以,这个问题不是关于如何解决问题,而是关于它是如何工作的。

我想在我的应用程序中使用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)

Okey,这里的问题是,由于缺少 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

为什么会这样?从podspec来看,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 个答案:

答案 0 :(得分:1)

Firebase/Core是Firebase窗格的Core子规格。在documentation here中查看详细信息。

虽然FirebaseCore容器不依赖于FirebaseAnalytics,但Firebase容器的Core子规格却依赖。

不幸的是,“ Core”在Firebase术语中已超载,但在这一点上很难更改而不会破坏很多应用程序。