Firebase pod 'InAppMessagingDisplay'

У меня возникают трудности при установке новой функции 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 master2. pod setup3. pod installКоторый не работал. Получил ту же ошибку.

Тогда я попробовал это: 1. pod repo update2. pod deintegrate3. pod installС тем же результатом.

Кто-нибудь из вас испытал это и знает решение?

5 ответов

Решение

Сокращая ваш 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 update
$ pod search FirebaseInAppMessaging
[!] Невозможно найти модуль с именем, автором, резюме или описанием, соответствующим FirebaseInAppMessaging

Но эта спецификация существует, она была добавлена ​​девять дней назад (16 августа 2018 года, 12:38 по Гринвичу +8) по адресу: https://github.com/CocoaPods/Specs/blob/master/Specs/2/a/8/FirebaseInAppMessaging/0.11.0/FirebaseInAppMessaging.podspec.json. Так что некоторые люди могут иметь это в кеше.

Я предлагаю вам связаться с Google и спросить их, когда они будут восстанавливать FirebaseInAppMessaging, В то же время, вы не можете использовать его.

Вам нужны более поздние версии следующих двух Firebase SDK, чтобы использовать обмен сообщениями в приложении

pod 'Firebase/Database', '~> 5.0.0'
pod 'Firebase/Messaging', '~> 5.0.0'
pod 'Firebase/Core', '~> 5.7.0'
pod 'Firebase/InAppMessagingDisplay'

Работал на меня.

Я нашел решение этой проблемы. Мой подфайл был похож на твой. Я взломал зависимости pods и обнаружил, что использую старую ссылку на Google Analytics.

Я использовал pod 'Google/Analytics' вместо pod 'GoogleAnalytics', Как только я изменил ссылку на какао-бобов, следуя списку бобов, опубликованном Google, все работало нормально.

Список модулей, опубликованный Google

Попробуй с pod install —repo-update, это может решить вашу проблему.

Другие вопросы по тегам