FirebaseInstanceID 无法使用 cocoapods 正确安装
Posted
技术标签:
【中文标题】FirebaseInstanceID 无法使用 cocoapods 正确安装【英文标题】:FirebaseInstanceID is not installing properly with cocoapods 【发布时间】:2019-03-30 17:41:29 【问题描述】:我对我的项目执行了pod update
。该项目使用以下 pod:
pod 'Firebase/Core'
pod 'Google-Mobile-Ads-SDK'
pod 'Fabric'
pod 'Crashlytics'
自更新以来,Pods > FirebaseInstanceID 目录的格式不正确。它只是充满了 .h 和 .m 文件,以及一个 Support Files 目录。
截图如下:
在我执行 pod update
之前,该目录已正确格式化为 Frameworks > FirebaseInstanceID.framework > Headers。 (仅供参考,我删除了 FirebaseCrash)。
截图如下:
这仅发生在 1 个特定项目中。我在其他几个项目中使用 Firebase。当我更新 pod 时,它们都没有这种不正确的 FirebaseInstanceID 目录格式。
为什么在 Pod 更新后 FirebaseInstanceID 目录格式不正确?
【问题讨论】:
使用 Cocoapods,您必须将其添加到您的 podfile pod 'Firebase/Messaging',然后您将在 Shell 中看到“Installing FirebaseInstanceID (4.3.4)” 【参考方案1】:FirebaseInstanceID 最近开源并从二进制转换为源 CocoaPod。您会在安装过程中注意到 FirebaseCore 具有类似的源结构。
随着时间的推移,Firebase SDK 会逐渐增加 open sourcing。如果您想将二进制框架集成到您的应用中,您可以尝试使用CocoaPods Rome 或Carthage。
但是,需要明确的是,建议您使用默认的 CocoaPods 安装,并且得到最好的支持。
【讨论】:
感谢您澄清这一点。这个问题的真正需要是希望能解决我在这里遇到的长达一年的问题:***.com/questions/49325501/…。我认为崩溃问题可能与 pod 更新后 FirebaseInstanceID 的这种新格式有关。我将此答案标记为正确,但我会喜欢您对我链接的那个旧线程的意见!如果需要,我很乐意澄清任何事情。 如果您使用 Firebase 5.x 更新或创建新问题以及更完整的回溯或可重现的示例,我可以看看。如果pod update
没有提供最新版本,请检查Podfile.lock
找出原因。以上是关于FirebaseInstanceID 无法使用 cocoapods 正确安装的主要内容,如果未能解决你的问题,请参考以下文章
错误:ios 上没有这样的模块“FirebaseInstanceID”
Flutter:java.lang.NoClassDefFoundError:解析失败:Lcom/google/firebase/iid/FirebaseInstanceId
FirebaseCloudMessaging:FirebaseInstanceId 后台同步失败 - SERVICE_NOT_AVAILABLE