You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter集成测试仅iOS端出现“Failed to stop app”错误如何解决?

解决方案
  • 适配M1芯片iOS模拟器架构配置
    该问题绝大多数场景下是M1芯片Mac运行iOS模拟器时的架构兼容问题导致,你可以按以下步骤修改配置:
    1. 用Xcode打开项目下的ios/Runner.xcworkspace文件
    2. 选中左侧导航栏的Runner项目,进入Build Settings标签页
    3. 找到Excluded Architectures配置项,在Debug、Release模式下,针对Any iOS Simulator SDK添加arm64架构
    4. 若项目使用CocoaPods,你可以直接在Podfile末尾添加以下代码,统一配置所有依赖包的架构排除规则:
    post_install do |installer|
      installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
        end
      end
    end
    
    修改完成后在ios目录执行pod install更新配置即可。
  • 调整测试终止逻辑
    flutter_driver的close()方法在iOS端不会主动终止应用进程,会触发系统停止失败的报错,你可以修改tearDownAll代码,在关闭连接前主动触发应用退出:
    tearDownAll(() async {
      if (driver != null){
        await driver?.requestData('exit');
        await driver!.close();
      }
    });
    
  • 调整运行参数
    运行测试时可额外添加--no-pub参数,也可以右键点击Finder中的模拟器,选择显示简介,勾选使用Rosetta打开后再运行测试。
  • 替换集成测试依赖
    旧版flutter_driver目前已处于维护阶段,新版Flutter官方推荐使用integration_test包实现集成测试,该包对iOS平台的兼容性更好,可避免这类进程终止异常问题。

内容的提问来源于stack exchange,提问作者Ahmed Morra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:54:03