Flutter app is Stuck in splash screen or in booting after archiving and uploaded on TestFlight

my flutter app runs perfectly on android studio and xcode but after uploading on test flight if shows white screen. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>BGTaskSchedulerPermittedIdentifiers</key> <array> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> </array> <key>CADisableMinimumFrameDurationOnPhone</key><true/> <key>CFBundleDevelopmentRegion</key> <string>$(DEVELOPMENT_LANGUAGE)</string> <key>CFBundleDisplayName</key> <string>premium</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIcons</key> <dict/> <key>CFBundleIcons~ipad</key> <dict/> <key>CFBundleIdentifier</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleLocalizations</key> <array> <string>en</string> </array> <key>CFBundleName</key> <string>premium</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>$(MARKETING_VERSION)</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>$(CURRENT_PROJECT_VERSION)</string> <key>FirebaseAppDelegateProxyEnabled</key><false/> <key>FirebaseCrashlyticsCollectionEnabled</key><true/> <key>LSApplicationQueriesSchemes</key> <array> <string>https</string> <string>http</string> </array> <key>LSRequiresIPhoneOS</key><true/> <key>LSSupportsOpeningDocumentsInPlace</key><true/> <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict> <array> <string>fetch</string> <string>processing</string> <string>remote-notification</string> </array> <key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>Main</string> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> </array> <key>UIViewControllerBasedStatusBarAppearance</key><false/> <key>UIApplicationSupportsIndirectInputEvents</key><true/> </dict> </plist>

import UIKit import Flutter import GoogleMaps import Firebase @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { override func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {GMSServices.provideAPIKey("***") FirebaseApp.configure() GeneratedPluginRegistrant.register(with: self) if #available(iOS 10.0, *) {UNUserNotificationCenter.current().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization(options: authOptions) { _, _ in}} else {let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)application.registerUserNotificationSettings(settings)} application.registerForRemoteNotifications() return super.application(application, didFinishLaunchingWithOptions: launchOptions)}}

name: *** description: *** version: 1.0.18+18 environment: sdk: ">=2.13.4 <3.0.0" dependencies: flutter: sdk: flutter http: ^0.13.4 connectivity_plus: ^2.3.8 easy_localization: ^3.0.0 easy_localization_loader: ^1.0.0 get_it: ^7.2.0 prefs: ^4.1.0+3 dio: ^5.3.1 oktoast: ^3.1.5 modal_bottom_sheet: ^3.0.0-pre full_screen_image_null_safe: ^2.0.0 permission_handler: ^10.0.0 permission_handler_platform_interface: ^3.7.0 firebase_core: ^2.15.0 firebase_messaging: ^14.6.5 flutter_local_notifications: ^9.5.3+1 firebase_crashlytics: ^3.3.4 firebase_analytics: ^10.4.4 google_maps_flutter: ^2.1.2 google_maps_flutter_web: ^0.5.3 google_maps_flutter_platform_interface: ^2.1.5 flutter_cupertino_datetime_picker: ^3.0.0 dependency_overrides: meta: ^1.7.0 dev_dependencies: flutter_test: sdk: flutter flutter: uses-material-design: true assets: - assets/images/ - assets/locale/

void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await Prefs.init(); await setupLocator(); LocalNotificationService.initialize(); await FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); LoginRequest.deviceToken = (await FirebaseMessaging.instance.getToken())!; NotificationSettings settings = await FirebaseMessaging.instance.requestPermission(alert: true, badge: true, sound: true); if (settings.authorizationStatus == AuthorizationStatus.authorized) { FirebaseMessaging.onMessage.listen(_firebaseMessagingForegroundHandler); FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);} else {***} FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message{***}); FirebaseMessaging.instance.getInitialMessage().then((message) {***}); runApp(EasyLocalization( child: PremiumApp(), supportedLocales: [Locale('en'), Locale('ar'), Locale('fr')], path: 'assets/locale', useOnlyLangCode: true, fallbackLocale: Locale('en'), saveLocale: true, startLocale: "en",),);} Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {***} Future<void> _firebaseMessagingForegroundHandler(RemoteMessage message) async {***}

class PremiumApp extends StatefulWidget { static final GetIt servicesLocator = GetIt.instance; @override PremiumAppViewState createState() =>PremiumAppViewState(); } class PremiumAppViewState extends State<PremiumApp> with WidgetsBindingObserver{ @override void initState() { WidgetsBinding.instance.addObserver(this); super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) async { SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, ]);});} @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override Widget build(BuildContext context) { return OKToast( child: new MaterialApp( useInheritedMediaQuery: true, localizationsDelegates: context.localizationDelegates, supportedLocales: context.supportedLocales, locale: context.locale, navigatorKey: NavigationService.navigationKey!, title: "***", debugShowCheckedModeBanner: false, theme: new ThemeData(visualDensity: VisualDensity.adaptivePlatformDensity, fontFamily: 'Roboto', colorScheme: ***, home: new SplashView(true), builder: (context, child) { return MediaQuery(data: MediaQuery.of(context).copyWith( textScaleFactor: MediaQuery.of(context).textScaleFactor.clamp(1.0, 1.25)), child: child!); }, navigatorObservers: [FirebaseAnalyticsObserver(analytics: PremiumApp.servicesLocator<FirebaseAnalytics>()), ],),);}} class MyCustomRoute<T> extends MaterialPageRoute<T> { bool isInitialRoute; MyCustomRoute({required this.isInitialRoute, required WidgetBuilder builder, required RouteSettings settings}):super(builder: builder, settings: settings); @override Widget buildTransitions(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) { if (isInitialRoute) {return child;} else {return new FadeTransition(opacity: animation, child: child); }}}

Flutter app is Stuck in splash screen or in booting after archiving and uploaded on TestFlight
 
 
Q