Skip to content

Firebasecore missing plugin exception on ios when task running🐞 #408

@alperenbaskaya58

Description

@alperenbaskaya58
  • I have read the README
  • I have done the setup for Android
  • I have done the setup for iOS
  • I have ran the sample app and it does not work there

Version

Technology Version
Workmanager version 0.5.0
Xcode version 13.4.1
Swift version
iOS deployment target

Describe the error
Flutter workmanager works reallay well on android side for my case. But I need to init firebase app but I got the following error. Everything is working on android side as well.

Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165:7) <asynchronous suspension> #1 MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:353:35) <asynchronous suspension> #2 MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:31:23) <asynchronous suspension> #3 MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:73:7) <asynchronous suspension> #4 Firebase.initializeApp (package:firebase_core/src/firebase.dart:40:31) <asynchronous suspension> #5 callbackDispatcher (package:tibbicihaz/main.dart:156:5) <asynchronous suspension> 2022-06-30 20:30:24.448439+0300 Runner[2582:288684] 8.15.0 - [Firebase/Firestore][I-FST000001] WatchStream (10ddb1938) Stream error: 'Unavailable: Network connectivity changed'

My code;

`void callbackDispatcher()async {
   await WidgetsFlutterBinding.ensureInitialized();
   

  Workmanager().executeTask((task, inputData) async {
    
     FlutterLocalNotificationsPlugin flp = FlutterLocalNotificationsPlugin();

  if(task == Workmanager.iOSBackgroundTask){
     
     
    stderr.writeln("The iOS background fetch was triggered");


    }
  

  
  try{
// error occurs here
    await Firebase.initializeApp();
    
    var android = AndroidInitializationSettings('@mipmap/ic_launcher', );
    var iOS = IOSInitializationSettings();
    var initSetttings = InitializationSettings(android: android, iOS: iOS);
    flp.initialize(initSetttings);
    var androidx = AndroidNotificationDetails('channel id', 'channel NAME',
    channelDescription: 'CHANNEL DESCRIPTION',
    priority: Priority.high,
    playSound: true,
    importance: Importance.max);
   var iOSx = IOSNotificationDetails();
   var platform = NotificationDetails(android: androidx, iOS: iOSx);
    bool a =  Get.isRegistered<CihazController>();
    CihazController cihazController;
   if(a){
      cihazController = Get.find();
   }
   else{
     cihazController = await Get.put(CihazController());
   }

  
   await cihazController.connect();
   await cihazController.getTopicsFromUser();
   log(cihazController.cihazlar.toString());
   await Future.delayed(Duration(seconds: 10));
   var notifs = await cihazController.notifVarMi();

   log("notifvar mş");
   log(notifs.toString());

   if(notifs != null){
    if(notifs.isNotEmpty){
      for (var notif in notifs){
        log(notif.toJson().toString());
        log("notif var mi x");
        await flp.show(DateTime.now().microsecond.toInt(), notif.str1 ?? "asd", notif.str2 ?? "asdf", platform, payload: "asdsadad");

        //await _showNotificationWithDefaultSound(flp);
        //await flp.show(DateTime.now().microsecond.toInt(), notif.str1, notif.str2, platform, payload: "asdsadad");
      }
    }
   }
  }
  catch (e){
    stderr.writeln(e.toString());
    return Future.error(e);
    //throw (e);
    

  }


    return Future.value(true);
  });
}`

Output of flutter doctor -v

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions