Merhabalar 5 6 ay kadar projem üzerinde çalışıyordum ben projemde çalışırken flutter 2.0 vardı simdi flutter 3.0a geçilmiş ve firebase uzerınde de cok fazla degısıklık yapılmıs. Ben tekrar projeme devam etmeye başladıgımda cokca hata vardı surum farklılıgından dolayı sımdı hataları cozdum ancak busefer de uygulamam calısmıyor suanda sadece beyaz ekran gosterıyor uygulama hata vermıyor forumlarda falan bakındım ancak bır cevap, cozum bulamadım lutfen yardımcı olursanız sevınırım
tahmınımce surumlerden dolayıı calısmıyor programım ama hangı surumlere gecıs yapmalıyım bılmıyorum, kodları sıfırdan yazmayayım lutfen yardımcı olun en basa donmek ıstemıyorum proje uzerınde cok fazla calıstım

fotoda beyaz ekran var sadece
[https://www.hizliresim.com/d5rw9i0](https://)

  • Ivan replied to this.
    • Hatayı cozdum
      main fonksiyonun icinde sadece yaptıgım sey tek satırlık bır hataymıs
      çözümünü bırakıyorum
      öncesi:

      Future<void> main() async {
      await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
      );
      WidgetsFlutterBinding.ensureInitialized();
      runApp(MyApp());
      }

      Sonrası:

      Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
      );
      runApp(MyApp());
      }

      Sadece yaptığım widgetsflutter satırını firebase kodlarının ustune almak oldu.
      bir tane stackoverflow baslıgı altında gordum.

    zalmanss Hataları çözdükten hemen sonra mı bu hale geldi? Yoksa spesifik bir hatadan sonra mı?

    Ivan hatalardan once zaten uygulamayı kullanamıyordum calısmıyordu hataları cozdukten sonra uygulamada hata vermedı ama bu sefer de uygulama acılmadı calısıyor gıbı oluyor ama beyaz ekran gosterıyor
    flutter run ıle calıstırdım hata var mı gostersın dıye termınalde alttakı kodlar yazdı.

    termınalde kı kodlar:
    [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Binding has not yet been initialized.
    E/flutter (31104): The “instance” getter on the ServicesBinding binding mixin is only available once that binding has been initialized.
    E/flutter (31104): Typically, this is done by calling “WidgetsFlutterBinding.ensureInitialized()” or “runApp()” (the latter calls the former). Typically this call is done in the “void main()” method. The “ensureInitialized” method is idempotent; calling it multiple times is not harmful. After calling that method, the “instance” getter will return the binding.
    E/flutter (31104): In a test, one can call “TestWidgetsFlutterBinding.ensureInitialized()” as the first line in the test’s “main()” method to initialize the binding.
    E/flutter (31104): If ServicesBinding is a custom binding mixin, there must also be a custom binding class, like WidgetsFlutterBinding, but that mixes in the selected binding, and that is the class that must be constructed before using the “instance” getter.

    • Ivan replied to this.

      zalmanss

      Main metodu içerisinde asenkron bir işlem gerçekleştiriyorsan bu tarz bir hata alırsın.
      main() metodu içerisine şunu yaz WidgetsFlutterBinding.ensureInitialized() aşağıdaki gibi olsun.

      void main() {
        WidgetsFlutterBinding.ensureInitialized();
        runApp(MyApp());
      }

      Ivan firebase authantication kullaniyorum evet async bir sistem ama firebasei kaldirirsam uygulama calismaz
      Ama birde firebase eklenti kismini cikarip deniyim olursa buseferde firebase calismayacagi icin onu nasil calistiracagim
      Sonsuz donguye girdim resmen 🙂

      Hatayı cozdum
      main fonksiyonun icinde sadece yaptıgım sey tek satırlık bır hataymıs
      çözümünü bırakıyorum
      öncesi:

      Future<void> main() async {
      await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
      );
      WidgetsFlutterBinding.ensureInitialized();
      runApp(MyApp());
      }

      Sonrası:

      Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
      );
      runApp(MyApp());
      }

      Sadece yaptığım widgetsflutter satırını firebase kodlarının ustune almak oldu.
      bir tane stackoverflow baslıgı altında gordum.

      a year later

      zalmanss aynı hatayı ben de aldım. Bu işlem benim de sorunumu çözdü. Teşekkür ederim

        Write a Reply...