Flutter: CocoaPods could not find compatible versions for pod "GoogleAppMeasurement"のエラー

※当サイトは、アフィリエイト広告を利用しています

結論:最新バージョンの「google_mobile_ads」に更新する

2023/2/12 Flutter エラー・バグ日記

 

以前も似たエラーが出たので、簡単に対処できるかと思ったが、意外に手間取った。。

 

Flutter SDKを3.7.1にアップグレードし、ひと通りのバグ修正をした後に、クラッシュ分析をするため、新たに「firebase_crashlytics」(バージョン3.0.12)を「pubspec.yaml」に追加し、「pub get」したところ、以下のエラーが出た。

 

Because firebase_crashlytics >=3.0.12 depends on firebase_core ^2.5.0 and XXXXXX depends on firebase_core ^1.21.1, firebase_crashlytics >=3.0.12 is forbidden.
So, because XXXXXX depends on firebase_crashlytics ^3.0.12, version solving failed.
pub get failed
command: "/Users/######/flutter/bin/cache/dart-sdk/bin/dart __deprecated_pub --directory . get --example"
pub env: {
"FLUTTER_ROOT": "/Users/######/flutter",
"PUB_ENVIRONMENT": "flutter_cli:get",
"PUB_CACHE": "/Users/######/.pub-cache",
}
exit code: 1

※「XXXXXX」はプロジェクト名、「######」はユーザー名

 

本記事はライトな日記思考で書いているので、詳細説明はしておらず、基本、テキストのみで画像とかはあまり載せておりません。。m(_ _)m

解説記事ではないため、解決していない内容や、その時々の間違った解釈を述べてしまっている可能性が大いにありますので、何卒、ご了承ください。

 

「firebase_core」と「firebase_analytics」のバージョンを上げる必要あり

よく見るバージョン不整合のエラー。

 

「firebase_crashlytics」のバージョン3.0.12は、バージョン2.5.0以上の「firebase_core」を必要とするのに、現在の「firebase_core」のバージョンは1.21.1なので、エラーになった模様。

 

そこで、「pubspec.yaml」に「firebase_core: ^2.5.0」とバージョンを書き直した上で、「pub get」したところ、今度は以下のエラーが発生した。

 

Because firebase_analytics >=9.0.0-dev.2 <10.0.1 depends on firebase_core ^1.10.0 and XXXXXX depends on firebase_core ^2.5.0, firebase_analytics >=9.0.0-dev.2 <10.0.1 is forbidden.
So, because XXXXXX depends on firebase_analytics ^9.3.3, version solving failed.
pub get failed
command: "/Users/######/flutter/bin/cache/dart-sdk/bin/dart __deprecated_pub --directory . get --example"
pub env: {
"FLUTTER_ROOT": "/Users/######/flutter",
"PUB_ENVIRONMENT": "flutter_cli:get",
"PUB_CACHE": "/Users/######/.pub-cache",
}
exit code: 1

 

先ほど「firebase_core」を2.5.0に上げたことで、今度は「firebase_analytics」のバージョンが不整合となってしまい、これもバージョンを上げる必要があるらしい。

 

そこで「firebase_analytics」も、現時点最新のバージョン10.1.1に上げたところ、無事「pub get」を完了できた。

 

再び、coreやanalytics関連のエラーが出る。。

パッケージを導入した場合、iOSでビルドするには、必ず「pod install」が必要なので、やってみると、今度は以下のエラーが発生。

 

[!] CocoaPods could not find compatible versions for pod "GoogleAppMeasurement":
In Podfile:
firebase_analytics (from .symlinks/plugins/firebase_analytics/ios) was resolved to 10.1.1, which depends on
Firebase/Analytics (= 10.3.0) was resolved to 10.3.0, which depends on
Firebase/Core (= 10.3.0) was resolved to 10.3.0, which depends on
FirebaseAnalytics (~> 10.3.0) was resolved to 10.3.0, which depends on
FirebaseAnalytics/AdIdSupport (= 10.3.0) was resolved to 10.3.0, which depends on
GoogleAppMeasurement (= 10.3.0)

google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) was resolved to 0.0.1, which depends on
Google-Mobile-Ads-SDK (= 9.6.0) was resolved to 9.6.0, which depends on
GoogleAppMeasurement (< 10.0, >= 7.0)

 

「GoogleAppMeasurement」が出てくるエラーは、以前も下記日記

 

 

の際に遭遇したが、今回はエラーの内容が異なっている。

 

前半はFirebase関連で、後半はAdMob(Google-Mobile-Ads)関連

 

バージョン番号は、恐らくiOS用のライブラリの番号か。

 

いずれも「was resolved(解決された)」とあるので、何が問題なのだろう?と思ってしまい、仕方なく調べると、以下のQA記事が見つかった。

 

 

文中のバージョン番号が違うだけで、ほぼ自分と同じエラー。

 

解決策として、「Google-Mobile-Ads-SDK」を最新バージョンにすることが提案されている。

 

Firebaseの方は気にしなくて良いらしい。。

 

そこで、「pubspec.yaml」に登録していた「google_mobile_ads」をバージョン2.0.1から、現時点最新の2.3.0に更新し、再度「pod install」したところ、確かに完了できた。

 

後になって、よくエラーメッセージを見てみると、

 

前半のFirebase関連については、最終的に、バージョン10.3.0の「GoogleAppMeasurement」に依存していると判定されたが、

 

後半のAdMob(Google-Mobile-Ads)関連については、最終的に、バージョン7.0以上かつ10.0未満の「GoogleAppMeasurement」に依存すると判定されたので、

 

2つの間で「GoogleAppMeasurement」の判定バージョンに不整合が生じてしまった、

 

ということだと理解できた。

 

そのため、「Google-Mobile-Ads」のバージョンを上げることで、依存する「GoogleAppMeasurement」のバージョンも上がるはずなので、Firebase側と整合が取れる、ということだろう(違っていたらスミマセンm(_ _)m)。

 

エラー文から「何が問題か」を明示的に読み取れず、手間取ってしまった。。

 

「GoogleAppMeasurement」とは?

このワードにエラーで遭遇したのが2回目だったので、気になって調べたところ、下記AdMobの公式サイトに記載があった。

 

 

どうやらiOSアプリに、AdMob(Google Mobile Ads)のSDKを導入する際にインポートされるフレームワークの1つ、ということらしい。

 

名称からはAdMobを想起できなかったが、今後はエラーの中に「GoogleAppMeasurement」があったら、AdMob関連を疑うべし、と理解した。

 

\一般的なエラー対処法をまとめた記事はこちら/

 

リリースしたアプリ(全てFlutterで開発)

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

タイトルとURLをコピーしました