M2处理器iOS模拟器无法运行Flutter应用问题求助
问题描述
原M1芯片Mac上运行正常的Flutter应用,升级到M2芯片Mac后,在iOS Simulator(iPhone 14 Pro)启动时出现以下错误:
Launching lib/main.dart on iPhone 14 Pro in debug mode... Running Xcode build... Xcode build done. 22.0s Exception: Unable to launch uk.co.example.client on 01D40B66-5A9B-464E-882E-4EB9B762168F: ProcessException: Process exited abnormally: An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=3): Simulator device returned an error for the requested operation. No such process Underlying error (domain=NSPOSIXErrorDomain, code=3): Application launch for 'uk.co.example.client' did not return a valid pid nor a launch error. No such process Command: /usr/bin/arch -arm64e xcrun simctl launch 01D40B66-5A9B-464E-882E-4EB9B762168F uk.co.financemagic.client --enable-dart-profiling --start-paused --enable-checked-mode --verify-entry-points Error launching application on iPhone 14 Pro.
已尝试过的操作:
- 清理Flutter项目(
flutter clean) - 清理Xcode构建文件夹
- 删除Pods文件及Podfile.lock后重新安装
解决方案
尝试以下步骤逐一排查:
重置iOS模拟器
打开iOS Simulator,点击顶部菜单Simulator > Reset Content and Settings...,确认重置后重启模拟器。指定Rosetta运行Xcode
找到应用程序中的Xcode图标,右键选择「显示简介」,勾选「使用Rosetta打开」,重启Xcode后重新构建运行。检查Flutter和Xcode版本兼容性
运行flutter doctor检查当前Flutter版本与Xcode版本是否匹配,确保两者都是稳定版且兼容(比如Flutter 3.10+搭配Xcode 14.3+)。
如果版本不兼容,升级Flutter:flutter upgrade;或升级Xcode到App Store中的最新稳定版。重新创建模拟器设备
打开Xcode的Window > Devices and Simulators,删除现有的iPhone 14 Pro模拟器,重新创建一个新的同型号模拟器,再尝试运行应用。修改Flutter启动命令的架构参数
尝试强制以x86_64架构运行模拟器启动命令:arch -x86_64 flutter run检查项目的Bundle Identifier一致性
确认Xcode项目中的Bundle Identifier(uk.co.example.client)与Flutter配置中的一致,避免启动时包名不匹配导致找不到进程。清理模拟器缓存
手动删除模拟器缓存目录:rm -rf ~/Library/Developer/CoreSimulator/Devices/01D40B66-5A9B-464E-882E-4EB9B762168F/data替换上述命令中的设备ID为你报错中的对应ID,之后重启模拟器。
内容的提问来源于stack exchange,提问作者Md. Kamrul Amin

