VMware中macOS Sequoia+Xcode16.1下Flutter项目缺失audioplayers_darwin模块
Flutter构建iOS项目报错:Module 'audioplayers_darwin' not found
错误信息
Module 'audioplayers_darwin' not found
已执行操作
- 运行
flutter clean清理构建产物 - 执行
flutter pub get拉取依赖 - 运行
flutter pub upgrade确保依赖为最新版本 - 进入
ios目录执行pod install,无报错
关键细节
GeneratedPluginRegistrant.h 导入逻辑
#if __has_include(<audioplayers_darwin/AudioplayersDarwinPlugin.h>) #import <audioplayers_darwin/AudioplayersDarwinPlugin.h> #else @import audioplayers_darwin; #endif
Podfile 配置
platform :ios, '12.0' use_frameworks! flutter_ios_podfile_setup
pubspec.yaml 依赖
audioplayers: ^6.1.0 vibration: ^2.0.1 device_info_plus: ^11.2.0 path_provider: ^2.5.3
环境信息
- macOS: Sequoia 15(VMware)
- Flutter: 3.5.3
- Xcode: 16.1
- iOS部署目标: 12.0(Podfile中指定)
核心疑问
- 导致
Module 'audioplayers_darwin' not found错误的原因是什么?该如何解决? - 针对此环境还有哪些需要检查的配置或步骤?
- 是否需要在Podfile中显式配置audioplayers_darwin?或是插件链接存在问题?
排查思路与解决步骤
1. 版本兼容性冲突(核心原因)
audioplayers 6.1.0要求Flutter版本至少为3.10+,但当前使用的Flutter 3.5.3版本过低,两者存在兼容性断层,导致插件无法正常生成适配的iOS模块。
解决方式二选一:
- 升级Flutter到3.10及以上版本,执行
flutter upgrade完成升级后,重新走flutter clean→flutter pub get→cd ios && pod install --repo-update流程 - 降级audioplayers到适配Flutter 3.5.3的版本(比如5.x系列),修改
pubspec.yaml中依赖为audioplayers: ^5.2.1,再重新执行依赖拉取和pod安装
2. Xcode与插件适配修复
Xcode 16.1属于较新版本,旧版Flutter对其集成逻辑支持不足,可尝试以下操作:
- 在Podfile中显式指定插件路径,添加代码:
之后执行pod 'audioplayers_darwin', :path => '.symlinks/plugins/audioplayers_darwin/ios'cd ios && pod install --repo-update - 打开iOS项目的
.xcworkspace文件(不要打开.xcodeproj),检查Build Phases → Link Binary With Libraries中是否包含audioplayers_darwin.framework,若缺失,从Pods/Products目录下拖入该框架 - 检查
Build Settings → Framework Search Paths,确保包含$(inherited)和Pods相关路径,保证Xcode能找到插件框架 - 清理Xcode缓存:执行
Cmd+Shift+K(或Xcode菜单→Product→Clean Build Folder),再重新构建项目
3. VMware环境特殊问题排查
VMware运行的macOS可能存在文件权限或符号链接异常:
- 检查项目根目录下的
.symlinks/plugins目录是否存在audioplayers_darwin文件夹,若不存在,手动创建并从本地pub缓存目录(~/.pub-cache/hosted/pub.dev/audioplayers-6.1.0/ios)复制对应文件到该目录 - 执行
flutter pub get时确保终端拥有足够权限,避免符号链接创建失败
内容的提问来源于stack exchange,提问作者vahidkoohkan
相关产品推荐
相关产品推荐

