【问题标题】:Firebase pod 'InAppMessagingDisplay'Firebase pod 'InAppMessagingDisplay'
【发布时间】:2018-08-23 16:03:49
【问题描述】:

我在安装 Firebase 新功能“应用内消息”时遇到了困难。 尝试在项目上运行 pod install 时,出现此错误:

[!] CocoaPods could not find compatible versions for pod "Firebase/InAppMessagingDisplay":
  In Podfile:
    Firebase/InAppMessagingDisplay

Specs satisfying the `Firebase/InAppMessagingDisplay` dependency were found, but they required a higher minimum deployment target.

这些是我项目中的 pod 文件:

target 'MyProject' do
    platform :ios, '10.1'
    inhibit_all_warnings!
    use_frameworks!

    pod 'AlamofireImage', '~> 3.1'
    pod 'AKPickerView-Swift', :git => 'https://github.com/Akkyie/AKPickerView-Swift.git', :inhibit_warnings => true
    pod 'Firebase/Database', '~> 5.0.0'
    pod 'Firebase/Messaging', '~> 5.0.0'
    pod 'Firebase/Core'
    pod 'Firebase/Auth'
    pod 'Firebase/RemoteConfig'
    pod 'Firebase/InAppMessagingDisplay'
    pod 'Google/Analytics'
    pod 'Protobuf', '~> 3.2', :inhibit_warnings => true
    pod 'PromiseKit/CoreLocation', '~> 4.1'
    pod 'GoogleConversionTracking'
    pod 'FBSDKCoreKit'
    pod 'Branch'
    pod 'Fabric'
    pod 'Crashlytics'
    pod 'Apply'
    pod 'SnapKit', '>= 4.0.0'
    pod 'KeychainSwift', '~> 10.0'
    pod 'Bond'
end

我在这里阅读了其他问题并尝试了两种不同的解决方案。 首先我尝试了这个: 1.pod repo remove master 2.pod setup 3.pod install 这没有用。遇到同样的错误。

然后我尝试了这个: 1.pod repo update 2.pod deintegrate 3.pod install 结果相同。

你们中有人遇到过这种情况并知道解决方案吗?

【问题讨论】:

  • 刚试了下,又报错了。即使我尝试对这两个版本没有任何限制,我仍然会遇到同样的错误。
  • 您需要更新所有 Firebase pod(pod 更新)。我需要的最低 Firebase 版本是 5.7.0,它是 4.0.4 我遇到了同样的问题,现在它运行得很好。

标签: ios swift firebase cocoapods firebase-in-app-messaging


【解决方案1】:

减少您的 Podfile 以使其成为 MCVE,我们可以简单地重现该问题:

target 'MyProject' do
    pod 'Firebase/InAppMessagingDisplay'
end

让我们来看看规格:

https://cocoapods.org/pods/Firebase
https://github.com/CocoaPods/Specs/blob/master/Specs/0/3/5/Firebase/5.6.0/Firebase.podspec.json
→ 依赖"FirebaseInAppMessaging": "0.11.0"
https://cocoapods.org/pods/FirebaseInAppMessaging
→ 重定向到https://firebase.google.com/docs/in-app-messaging/

这意味着Firebase/InAppMessagingDisplay 依赖于另一个被 Google 删除的规范。演示删除:

$ pod repo 更新
$ pod search FirebaseInAppMessaging
[!] 找不到名称、作者、摘要或描述与 FirebaseInAppMessaging 匹配的 pod

但是这个规范是存在的,它是在 9 天前(2018 年 8 月 16 日,格林威治标准时间+8 上午 12:38)添加的:https://github.com/CocoaPods/Specs/blob/master/Specs/2/a/8/FirebaseInAppMessaging/0.11.0/FirebaseInAppMessaging.podspec.json。所以有些人可能会把它放在缓存中。

我建议您联系 Google 并询问他们何时恢复 FirebaseInAppMessaging。同时,你不能使用它。

【讨论】:

  • 谢谢你!这至少为我节省了几个小时 :-) 届时将尝试联系 Google。
  • 由于对谷歌分析 pod 的旧引用而发生这种依赖关系。请检查我的答案
【解决方案2】:

您需要以下两个 Firebase SDK 的更高版本才能使用应用内消息传递

pod 'Firebase/Database', '~> 5.0.0'
pod 'Firebase/Messaging', '~> 5.0.0'

【讨论】:

  • 对,InAppMessaging 是在 Firebase 5.6.0 中引入的
  • 您建议我将它们设置为哪个版本?尝试将它们都设置为'~> 5.6',结果如下:“[!] CocoaPods 找不到 pod“GoogleUtilities/Reachability”的兼容版本:在 Podfile:Firebase/Messaging (~> 5.6) 已解析为 5.6。 0,取决于 FirebaseMessaging (= 3.1.0) 被解析为 3.1.0,这取决于 GoogleUtilities/Reachability (~> 5.2) 找到满足“GoogleUtilities/Reachability (~> 5.2)”依赖项的规范,但它们需要更高的最小部署目标。
【解决方案3】:
pod 'Firebase/Core', '~> 5.7.0'
pod 'Firebase/InAppMessagingDisplay'

为我工作。

【讨论】:

    【解决方案4】:

    试试pod install —repo-update,它可以解决你的问题。

    【讨论】:

    • 刚试过。得到同样的错误。感谢您的回答:-)
    • 尝试使用更高版本编辑您的部署目标版本并重试该命令
    • 将它从 10.1 升级到 11.0,但没有运气。
    【解决方案5】:

    我找到了解决此问题的方法。我的 podfile 看起来像你的。我一直在破解 pod 依赖项,发现我使用的是 Google Analytics 的旧参考。

    我使用的是pod 'Google/Analytics' 而不是pod 'GoogleAnalytics'。 一旦我按照谷歌发布的豆荚列表更改了可可豆荚参考,一切正常。

    Pods list published by Google

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-30
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-18
      • 2019-06-09
      • 1970-01-01
      相关资源
      最近更新 更多