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()); }