Firebase窗格“ InAppMessagingDisplay”

时间:2018-08-23 16:03:50

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

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

你们中的任何人都经历过并且知道解决方案吗?

5 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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
→对"FirebaseInAppMessaging": "0.11.0"的依赖
https://cocoapods.org/pods/FirebaseInAppMessaging
→重定向到https://firebase.google.com/docs/in-app-messaging/

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

  

$ pod仓库更新
  $ pod search FirebaseInAppMessaging
  [!]找不到名称,作者,摘要或描述与FirebaseInAppMessaging

匹配的窗格

但是此规范存在,它是在9天前(格林尼治标准时间+8,2018年8月16日上午12:38)添加的:https://github.com/CocoaPods/Specs/blob/master/Specs/2/a/8/FirebaseInAppMessaging/0.11.0/FirebaseInAppMessaging.podspec.json。因此某些人可能会将其保存在缓存中。

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

答案 2 :(得分:1)

pod 'Firebase/Core', '~> 5.7.0'
pod 'Firebase/InAppMessagingDisplay'

为我工作。

答案 3 :(得分:0)

尝试使用pod install —repo-update,它可以解决您的问题。

答案 4 :(得分:0)

我找到了解决此问题的方法。我的Podfile看起来像您的。我一直在破解pods的依赖关系,发现使用的Google Analytics(分析)的参考很旧。

我使用的是pod 'Google/Analytics'而不是pod 'GoogleAnalytics'。 在Google发布的豆荚列表中更改了可可豆荚参考之后,一切正常。

Pods list published by Google