Flutter应用在iOS模拟器启动后闪退问题求助
Flutter应用在iOS模拟器构建成功后闪退(Xcode14.3更新后出现)
问题描述
项目可正常构建,应用图标出现在模拟器上,但启动仅一秒后就闪退,无额外提示。安装了Xcode14和14.3两个版本,问题在更新至Xcode14.3后出现。
终端构建日志
Launching lib/main.dart on iPhone 14 Pro Max in debug mode... Running pod install... 1,758ms Running Xcode build... Xcode build done. 46.8s
fvm flutter doctor -v 输出
fvm flutter doctor -v [!] Flutter (Channel stable, 3.7.7, on macOS 13.3 22E252 darwin-arm64, locale en-UA) • Flutter版本3.7.7,稳定版,路径为/Users//fvm/versions/3.7.7 ! 警告:路径中的`dart`指向/opt/homebrew/Cellar/dart/2.18.0/libexec/bin/dart,不在当前Flutter SDK目录/Users//fvm/versions/3.7.7内。建议将/Users//fvm/versions/3.7.7/bin添加至路径前端。 • 上游仓库:https://github.com/flutter/flutter.git • Framework版本号2ad6cd72c0(4周前),2023-03-08 09:41:59 -0800 • Engine版本号1837b5be5f • Dart版本2.19.4 • DevTools版本2.20.1 • 若上述情况为有意设置,可忽略警告;但建议直接使用"git"进行更新检查与升级。 [✓] Android工具链 - 开发Android设备(Android SDK版本33.0.0) • Android SDK路径:/Users//Library/Android/sdk • 平台android-33,build-tools 33.0.0 • Java二进制文件路径:/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java版本:OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301) • 已接受所有Android许可。 [✓] Xcode - 开发iOS和macOS应用(Xcode 14.0) • Xcode路径:/Applications/Xcode copy.app/Contents/Developer • Build版本14A309 • CocoaPods版本1.12.0 [✓] Chrome - 开发Web应用 • Chrome路径:/Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio(版本2022.1) • Android Studio路径:/Applications/Android Studio.app/Contents • Flutter插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java版本:OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301) [✓] VS Code(版本1.77.0) • VS Code路径:/Applications/Visual Studio Code.app/Contents • Flutter扩展版本3.62.0 [✓] 已连接设备(3台可用) • iPhone 14 Pro Max(移动设备) • 237C4493-9B18-4B40-8495-FA2B6C181137 • ios • com.apple.CoreSimulator.SimRuntime.iOS-16-4(模拟器) • macOS(桌面设备) • macos • darwin-arm64 • macOS 13.3 22E252 darwin-arm64 • Chrome(Web设备) • chrome • web-javascript • Google Chrome 111.0.5563.146 [✓] HTTP主机可用性 • 所有必需的HTTP主机均可用 ! 检测到1类问题。
解决方案
1. 升级Flutter版本以兼容Xcode14.3
Flutter 3.7.7与Xcode14.3存在兼容性问题,建议升级到Flutter 3.10及以上稳定版:
fvm flutter upgrade
若需指定版本:
fvm install 3.10.0 fvm use 3.10.0
2. 切换系统默认Xcode版本
当前flutter doctor识别的是Xcode14.0,需切换到14.3:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
(若Xcode14.3路径不同,请替换为实际路径)
执行后重新运行fvm flutter doctor确认版本识别正确。
3. 修复Dart路径冲突
系统当前使用Homebrew安装的Dart,而非Flutter SDK自带版本,需修改shell配置文件(~/.zshrc或~/.bash_profile),将Flutter的bin目录放到PATH最前端:
export PATH="/Users/你的用户名/fvm/versions/3.7.7/bin:$PATH"
替换为实际用户名后,执行source ~/.zshrc(对应你的配置文件)生效,再用which dart确认路径指向Flutter SDK内的Dart。
4. 清理缓存并重新构建
- 清理Flutter缓存:
fvm flutter clean
- 进入iOS目录清理Pod缓存:
cd ios pod deintegrate pod install cd ..
- 重启模拟器并运行应用:
fvm flutter run
5. 查看崩溃日志定位原因
若以上步骤无效,查看模拟器崩溃日志:
- 打开Xcode,点击顶部菜单
Window->Devices and Simulators - 选中你的iPhone 14 Pro Max模拟器
- 点击底部
View Device Logs - 找到对应应用的崩溃日志,查看
Exception Type和Exception Codes进一步排查。
内容的提问来源于stack exchange,提问作者AndrewS19
相关产品推荐
相关产品推荐

