3

我在安装 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 结果相同。

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

4

5 回答 5

2

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

pod 'Firebase/Database', '~> 5.0.0'
pod 'Firebase/Messaging', '~> 5.0.0'
于 2018-08-23T18:23:06.210 回答
2

减少您的 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
→ 依赖on "FirebaseInAppMessaging": "0.11.0"
https://cocoapods.org/pods/FirebaseInAppMessaging
→ 重定向到https://firebase.google.com/docs/in-app-messaging/

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

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

但是这个规范是存在的,它是在 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。同时,您不能使用它。

于 2018-08-24T07:33:38.867 回答
1
pod 'Firebase/Core', '~> 5.7.0'
pod 'Firebase/InAppMessagingDisplay'

为我工作。

于 2018-09-06T12:05:49.750 回答
0

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

于 2018-08-23T16:06:00.863 回答
0

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

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

Google 发布的 Pod 列表

于 2018-11-23T14:00:05.487 回答