初めに
Flutterで開発している途中でiOSシミュレータの画面が真っ白のままになってしまい、解決に時間をかけてしまったので記録を残しておきます。
環境
- macOS Big Sur(バージョン 11.6)
- Flutter 3.0.3
問題点
Firebaseをアプリに追加して再度 iOSシミュレータをビルドすると成功するがシミュレータの画面が真っ白のままで動かなくなってしまう。
Launching lib/main.dart on iPhone 12 in debug mode...
Running pod install...
Running Xcode build...
Xcode build done. 42.5s
flutter run を実行するとビルドは成功するためエラーも出ない
試したこと
- iOSシミュレータの再起動
- Mac 再起動
- flutter clean
- Podfile, Podfile.lockの削除
解決策
Firebase.initializeApp( ) に以下の内容を追加
main.dart
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
+ options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
}
解決策は非常に簡単でした。
Flutter3.0 へ移行するタイミングで Flutter と Firebase の連携方法にも変更が加えられており、以前は必要なかった上記のコードが必須になっていました。
Flutter3 以前に書かれたドキュメントではこの部分がないものもあるので、参考にする際には多少の注意が必要です。とはいえ公式ドキュメントではこのコードを追加するよう指示されているので、まずは公式ドキュメントに従って進めれば問題ないと思われます。
以上です!
参考にしたサイト