所以,这个问题不是关于如何修复某些东西,而是关于它是如何以这种方式工作的。
我想在我的应用中使用 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 时发生。
最佳答案
Firebase/Core
是 Firebase pod 的 Core
子规范。请参阅 Firebase podspec 中的详细信息.
虽然 FirebaseCore pod 不依赖于 FirebaseAnalytics,但 Firebase pod 的核心子规范却依赖。
不幸的是,“核心”在 Firebase 术语中重载了,但在不破坏大量应用程序的情况下改变这一点是很棘手的。
关于ios - Cocoapods - 仅在使用 FirebaseCore 时安装 FirebaseAnalytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52943029/