首页 > 解决方案 > 关闭后,Flutter 应用程序将无法在 iOS 设备上运行

问题描述

当我从 VC 启动应用程序时,应用程序运行良好,但是当我关闭它(从内存中删除)并尝试从手机启动时,它会以白色 bg 闪烁一秒钟然后消失。在 Android 设备和 iOS 模拟器上运行良好。可能是什么问题?

这是我的代码:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:prometey_app/models/auth_model.dart';
import 'package:prometey_app/screens/auth/auth_screen.dart';
import 'package:prometey_app/screens/main/main_screen.dart';
import 'package:prometey_app/theme.dart';
import 'package:provider/provider.dart';
import 'controllers/data_manager.dart';

bool isLoggedIn = false;

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await DB.init();
  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
      .then((_) {
    DB.getUser().then((user) {
      print("Get user data from sqlite");
      if (user != null) {
        print("Try to login with local data");
        bitrixAuth(user.email, user.password).then((userResponse) {
          if (userResponse.success) {
            isLoggedIn = true;
            print("Login success");
            runApp(MyApp());
          } else {
            print("Auth data changed");
            isLoggedIn = false;
            runApp(MyApp());
          }
        });
      } else {
        print("No user records in sqlite");
        isLoggedIn = false;
        runApp(MyApp());
      }
    });
  });
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => AuthModel(),
      child: MaterialApp(
          debugShowCheckedModeBanner: false,
          title: 'Прометей',
          theme: _theme(),
          home: isLoggedIn ? MainScreen() : AuthScreen()),
    );
  }

  ThemeData _theme() {
    return ThemeData(
      visualDensity: VisualDensity.adaptivePlatformDensity,
      scaffoldBackgroundColor: Global.bgColor,
      buttonTheme: ButtonThemeData(
        disabledColor: Global.bgAccent,
        buttonColor: Global.bgAccent,
        shape: RoundedRectangleBorder(),
        textTheme: ButtonTextTheme.normal,
      ),
    );
  }
}

任何帮助,将不胜感激!

标签: flutter

解决方案


如果您在debug模式下运行应用程序,应用程序在关闭后无法启动。关闭后以profile或模式启动应用程序以供使用。在这里release阅读更多。


推荐阅读