概要
flutterアプリをiOS環境でデバックしながら開発していたところ、このようなエラーが発生しました。
Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
pod repo update
Error running pod install
Error launching application on iPhone 16 Pro.
エラーが起きた背景としては、直前に pubspec.yaml に firebase_auth というfirebaseでアカウント認証を行うパッケージを追加していました。
このエラー原因と対処法を記します。
原因
flutter_cleanなどを試してみるとエラーメッセージが次のようになりました。
[!] CocoaPods could not find compatible versions for pod "Firebase/Auth":
In snapshot (Podfile.lock):
Firebase/Auth (= 11.2.0)In Podfile:
firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) was resolved to 5.3.3, which depends on
Firebase/Auth (= 11.4.0)
firebase_auth のバージョンが /ios/Podfile.lock に記入されているものと実際にインストールされているものとで異なることが原因と判明しました。
対処法
まず、/ios/Podfile と /ios/Podfile.lock を削除します。
その後、次のコマンドを実行します。
flutter clean
コマンド実行後、pubspec.yaml の upgrade Packeges を実施します。
これにより /ios/Poddile が生成されます。
cd ios
pod install
ここまでで /ios/Poddile.lock も生成されます。
実行後このように出力され、firebase_authのバージョンが揃いました
Analyzing dependencies
firebase_auth: Using Firebase SDK version '11.4.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '11.4.0' defined in 'firebase_core'
Downloading dependencies
Installing Firebase (11.4.0)
Installing FirebaseAppCheckInterop (11.5.0)
Installing FirebaseAuth (11.4.0)
Installing FirebaseAuthInterop (11.5.0)
Installing FirebaseCore (11.4.0)
以下略
最後に再度flutter_cleanを実行して正常にビルドが完了するようになりました。