google_mobile_adsをアップデートした後に、iOSシミュレータ向けにflutter run
コマンド実行した際に、下記のようなエラーが発生したので、その解決策を備忘録として残します。
・・・
[!] CocoaPods could not find compatible versions for pod "Google-Mobile-Ads-SDK":
In snapshot (Podfile.lock):
Google-Mobile-Ads-SDK (= 7.69.0)
In Podfile:
google_mobile_ads (from `.symlinks/plugins/google_mobile_ads/ios`) was resolved to 0.0.1, which depends on
Google-Mobile-Ads-SDK (= 8.5.0)
You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `Google-Mobile-Ads-SDK` inside your development pod `google_mobile_ads`.
You should run `pod update Google-Mobile-Ads-SDK` to apply changes you've made.
・・・
提案にあるようにpod repo update
やpod update Google-Mobile-Ads-SDK
を実行しても、上記の問題は解決しませんでした。
普段なら、以下の3つのコマンドでPod関連の問題は解決するのですが、今回はそうは行きませんでした。
pod repo update
sudo gem install cocoapods
pot setup
下記のサイトにあるコマンドをios
フォルダ内で実行することで問題が解決しました。podやflutterのSDKを掃除してあげる必要があったようです。
https://www.gitmemory.com/issue/FirebaseExtended/flutterfire/5350/801064169
rm -rf Pods
rm -rf Podfile.lock
rm -rf ~/.pub-cache/hosted/pub.dartlang.org/
pod cache clean --all
flutter clean
flutter pub get
pod repo update
pod install
最近、Flutterのパッケージなどをアップデートするたびに、AndroidかiOSのどちらかのビルドが作成できなくなる現象に見舞われるので、油断できません。他の業務が忙しくて数週間アプリのコードに触れないと、アプリ開発の作業に戻るのが、億劫に感じることもあります。アプリ開発は間を開けないことが大事なような気がします。
追記(2021年10月1日):上記コマンド一覧のすべてを実行しなくても、解決されるケースがあったので、追記します。以下のコマンドでエラーが解消されました。
cd ios
rm Podfile.lock
pod repo update
pod install
Podsやpub.darlang.orgフォルダを削除したり、キャッシュをcleanしなくても大丈夫な場合があるので、まずはこちらから試してみるのがいいかと思います。