macOS向けのFlutterアプリでflutterfire configureコマンドを実行した後、[cloud_firestore/unavailable] The service is currently unavailable.というエラーに遭遇しました。
問題の原因
flutterfire configureコマンドによって、macOS向けのアプリにはGoogleService-Info.plistファイルとfirebase_options.dartが生成されます。
この自動生成されたGoogleService-Info.plistが予期せぬエラーの原因となることがあります。
解決策
この問題を解決するには、以下の手順を実行します。
-
GoogleService-Info.plistの削除macos/RunnerディレクトリからGoogleService-Info.plistファイルを削除します。 -
firebase_options.dartを使用したFirebaseの初期化Firebaseを初期化する際には、
firebase_options.dartからDefaultFirebaseOptions.currentPlatformを引数に渡して初期化します。これにより、各プラットフォーム向けの正しいFirebase設定が使用されます。import 'package:firebase_core/firebase_core.dart'; import 'firebase_options.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); runApp(MyApp()); }