flutter - 关闭后,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,
),
);
}
}
任何帮助,将不胜感激!
解决方案
如果您在debug
模式下运行应用程序,应用程序在关闭后无法启动。关闭后以profile
或模式启动应用程序以供使用。在这里release
阅读更多。
推荐阅读
- html - 如何分两列打印页面?
- sql - 如何根据列中的条件递归更新PostgreSQL中的表
- python - 将变量动态替换为python中的参数
- visual-studio-code - VSCode 中的 GPU 加速有多大用处?
- assembly - x86 裸机组件 - 如果值小于 x 且大于 y
- opengl - 如何在 GLSL 中翻译剪切平面?
- r - 计算一个变量的 20 步总和
- r - 使用可自定义的插值点数计算 R 中的 2d 样条路径
- excel - AutoLisp 将特定行的块属性 ID 名称和块计数传递给 GetExcel 例程的“Putcell”命令
- console - 我想使用 close 方法关闭我的控制台。不是通过 X