1、Error: Cannot run with sound null safety, because the following dependencies don't support null safety:
原因:flutter版本更新到2.0版本后,有些第三方依赖并没有得到支持,出现空安全问题
解决方案
- 使用命令行运行,加入启动参数--no-sound-null-safety即可
--no-sound-null-safety
- 使用VSCode运行,在.vscode/launch.json中设置启动时的参数 --no-sound-null-safety
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "test",
"request": "launch",
"type": "dart",
"args": [
"--no-sound-null-safety",
]
}
]
}
或者 在VSCode-Dart-Flutter中配置下启动参数--no-sound-null-safety,这个配置是所有Flutter应用都生效
扩展商店->Dart->扩展设置-> 搜索Flutter Run -> 在Flutter Run Additional Args栏目中添加--no-sound-null-safety
2、In iOS 14+,debug mode Flutter apps can only be launched from Flutter tooling, IDEs with Flutter plugins or from Xcode.Alternatively,build in profile or release modes to enable launching from the home screen.
原因: Debug模式下,Flutter也实现了热重载,默认编译方式为JIT
而iOS 14+系统对这种编译模式做了限制,导致无法启动
解决方案
1.更改Xcode编译模式:Xcode使用Release模式编译,这个时候Flutter编译方式为AOT,可正常启动。
2.不更改Xcode编译模式
-
更改Flutter编译配置,强制设置为release,如下图:
-
打开xcode_backend.sh文件,按红框的方式修改(改了后会导致调试数据不会被打印)
3、Flutter2.0以上版本 primaryColor 设置不生效
**原因:在新版本中primaryColor和accentColor内部ThemeData是不起作用 **
解决方案
使用ThemeData的新colorScheme(colorScheme.light 或 colorScheme.dark)属性,或者 primarySwatch属性