jhomlala / catcher

Flutter error catching & handling plugin. Handles and reports exceptions in your app!
Apache License 2.0
784 stars 175 forks source link

[BUG] runAppFunction not working #274

Open AnhTH260101 opened 2 months ago

AnhTH260101 commented 2 months ago

i using catcher to config my app but i give this log

I/flutter (30547): [2024-06-13 16:33:05.667079 | Catcher | WARNING] Screenshots path is empty. Screenshots won't work. I/flutter (30547): [2024-06-13 16:33:05.675661 | Catcher | FINE] Catcher configured successfully. I/flutter (30547): [2024-06-13 16:33:05.874990 | Catcher | INFO] Setup localization lazily! I/flutter (30547): [2024-06-13 16:33:05.874990 | Catcher | INFO] Setup localization lazily! I/flutter (30547): null I/flutter (30547): null I/flutter (30547): [2024-06-13 16:33:05.913393 | Catcher | WARNING] Couldn't use report mode because you didn't provide navigator key. Add navigator key to use this report mode. I/flutter (30547): [2024-06-13 16:33:05.913393 | Catcher | WARNING] Couldn't use report mode because you didn't provide navigator key. Add navigator key to use this report mode.

This is my config code Future main() async { // F.appFlavor = Flavor.dev;

// final Catcher catcher = Catcher( runAppFunction: () async => runner.main(), ensureInitialized: true, );

Directory? externalDir; String path = '';

if (Platform.isAndroid) { externalDir = await getExternalStorageDirectory(); } if (Platform.isIOS || Platform.isMacOS) { externalDir = await getApplicationDocumentsDirectory(); }

if (externalDir != null) { path = externalDir.path; }

// final ReportMode debugReportMode = DialogReportMode();

// Debug configuration with dialog report mode. final CatcherOptions debugOptions = CatcherOptions( debugReportMode,

[ FirebaseHandler(), ConsoleHandler(), ], localizationOptions: L10n.delegate.supportedLocales .map((Locale locale) => LocalizationOptions(locale.languageCode)) .toList(), screenshotsPath: path, ); // final ReportMode releaseReportMode = PageReportMode(); // Release configuration. // Same as above, but once user accepts dialog, // user will be prompted to send email with crash to support. final CatcherOptions releaseOptions = CatcherOptions( releaseReportMode, [ ToastHandler(), ], ); catcher.updateConfig( debugConfig: debugOptions, releaseConfig: releaseOptions, ); } i detect runner.main() not call so my app only show white screen