如何在iOS模拟器中以Release模式运行Flutter应用?
解决Flutter Release构建无法在iOS模拟器运行的问题
报错原因很明确:你的Release构建仅包含arm64架构,而Intel芯片环境下的iPhone 14 Pro模拟器需要x86_64架构,两者不兼容导致无法执行。
以下是两种可行的解决方法:
方法一:修改Xcode项目配置
- 打开项目iOS目录下的
Runner.xcworkspace - 在左侧项目导航栏选中
Runner,切换到Build Settings标签页 - 搜索
Architectures,点击展开该项,将x86_64添加到架构列表 - 继续搜索
Valid Architectures,同样添加x86_64 - 找到
Build Active Architecture Only,将Release模式对应的选项改为NO(确保构建所有指定的架构) - 重新执行Release构建:
flutter build ios --release,完成后即可在模拟器运行
方法二:通过Flutter命令行指定架构构建
直接在构建时指定同时支持arm64和x86_64架构:
flutter build ios --release --dart-define=ARCHS="arm64 x86_64"
构建完成后,执行以下命令将产物安装到模拟器:
flutter install --release
补充:苹果硅(M1/M2)芯片Mac的特殊处理
如果是苹果硅芯片的Mac,模拟器默认支持arm64架构,若仍出现问题,可尝试:
- 在Xcode的模拟器列表中,右键目标模拟器,勾选Open using Rosetta,再重新运行
- 确保Xcode的架构配置中,同时包含arm64和x86_64
注意:若后续需要将应用提交到App Store,记得剥离x86_64架构(App Store仅接受arm64架构的iOS应用),可通过Xcode归档时的自动处理完成,或使用lipo命令手动移除多余架构。
内容的提问来源于stack exchange,提问作者John Doe
相关产品推荐
相关产品推荐

