Flutter应用因audioplayers_darwin插件在iOS模拟器启动崩溃
iOS模拟器Flutter应用启动崩溃(audioplayers_darwin相关)解决方案
针对你遇到的Android正常、iOS模拟器启动即崩溃(异常类型EXC_BAD_ACCESS,崩溃点在SwiftAudioplayersDarwinPlugin.register(with:))的问题,结合你已尝试的方案,补充以下排查和解决步骤:
锁定audioplayers兼容版本
插件版本与Flutter/iOS环境不兼容是这类注册崩溃的常见原因。在pubspec.yaml中指定与当前Flutter版本匹配的稳定版(可查看插件release notes确认兼容版本):dependencies: audioplayers: ^4.0.1 # 替换为适配你Flutter版本的具体版本号执行命令更新依赖:
flutter pub get cd ios && pod install --repo-update添加iOS音频权限声明
即使是模拟器,部分音频插件需要权限配置才能正常初始化。在ios/Runner/Info.plist中添加:<key>NSMicrophoneUsageDescription</key> <string>应用需要访问音频功能以播放声音</string>调整模拟器音频设置
模拟器的音频硬件模拟可能存在bug,尝试关闭音频输入输出:- 打开iOS模拟器,点击顶部菜单
Hardware - 取消勾选
Audio Input和Audio Output - 重启模拟器后重新运行Flutter应用
- 打开iOS模拟器,点击顶部菜单
检查Swift版本匹配度
audioplayers_darwin基于Swift开发,若项目Swift版本与插件要求不符会引发崩溃:- 打开
ios/Runner.xcworkspace - 在项目
Build Settings中找到Swift Language Version,设置为插件要求的版本(如5.7及以上) - 执行
Cmd+Shift+K清理Xcode缓存后重新构建
- 打开
切换模拟器iOS版本
部分iOS版本的模拟器存在音频组件漏洞,尝试切换到其他稳定版本(比如从iOS 17降级到iOS 16)测试。
内容的提问来源于stack exchange,提问作者Pietro
相关产品推荐
相关产品推荐

