我在安装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
结果相同。
你们中的任何人都经历过并且知道解决方案吗?
答案 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发布的豆荚列表中更改了可可豆荚参考之后,一切正常。