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

Flutter iOS应用可在真机运行但无法在Xcode模拟器启动,提示“audio_session模块未找到”的解决方案咨询

解决Flutter iOS模拟器启动报错“Module 'audio_session' not found”的问题

我之前也碰到过类似的情况——明明自己没直接用某个插件,却因为依赖链的问题在模拟器上踩坑。给你几个一步步排查的方案,应该能解决你的问题:

1. 先清理所有缓存,重新构建

这是最常用的“万能第一步”,很多依赖缓存问题都能这么解决:

  • 在项目根目录执行:
    flutter clean
    flutter pub get
    
  • 进入ios目录,执行:
    pod deintegrate
    pod install
    
  • 重启Xcode,按下Command+Shift+K清理Xcode的构建缓存,然后再尝试启动模拟器

2. 调整Podfile的架构配置

有些插件对模拟器的架构支持有问题,我们可以手动强制Pod支持模拟器架构:
打开ios/Podfile,找到post_install部分,修改成下面的内容:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # 让所有目标支持模拟器的x86_64和arm64架构
    target.build_configurations.each do |config|
      config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
      config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'x86_64 arm64'
    end
  end
end

修改后重新执行pod install,然后再运行模拟器。

3. 排查间接引入的audio_session依赖

你没直接用这个插件,但大概率是某个你依赖的第三方插件间接引入了它。可以用命令找出根源:

  • 在项目根目录执行:
    flutter pub deps | grep audio_session
    

找到引入它的插件后:

  • 先尝试把这个插件更新到最新版本,很多开发者会修复模拟器兼容问题
  • 如果更新后还是不行,可以临时在Podfile中针对模拟器排除这个插件(注意真机测试时要恢复):
    在post_install里添加这段判断:
    if target.name == 'audio_session'
      target.build_configurations.each do |config|
        # 模拟器构建时排除该模块
        if config.name == 'Debug'
          config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 x86_64'
        end
      end
    end
    

4. 重置模拟器状态

有时候模拟器的状态异常也会导致这种问题:

  • 打开Xcode,点击顶部菜单Window > Devices and Simulators
  • 选中你正在使用的模拟器,右键选择Erase All Content and Settings
  • 重启模拟器后再运行应用

5. 检查Flutter和Xcode版本兼容性

确保你的Flutter和Xcode版本是匹配的:

  • 执行flutter upgrade升级到最新稳定版Flutter
  • Xcode版本建议使用14.0以上(对应Flutter 3.x系列),过旧的Xcode版本可能对新插件的支持不好

按照上面的步骤一步步试,应该能解决模拟器启动的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 01:02:30