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

Flutter的video_player插件在iOS模拟器抛出PlatformException如何解决?

问题原因分析
  • 你当前使用的是Flutter master分支的非稳定预览版本(2.6.0-12.0.pre.899),该版本的video_player插件存在iOS 15兼容bug:底层AVPlayer初始化逻辑存在缺陷,会直接中断加载流程,因此不会发起对应的网络请求,该问题仅出现在iOS端,不会影响Android运行。
  • M1芯片的Mac运行Xcode 13配套的iOS 15模拟器存在原生AVPlayer兼容问题,该问题为苹果模拟器本身的缺陷,仅在模拟器环境触发,iOS真机不受影响。
  • 可能存在ATS(App Transport Security)配置遗漏:如果你的视频地址为HTTP协议,或者使用了不受系统信任的自签名HTTPS证书,请求会在iOS原生层直接被拦截,不会出现在Flutter DevTools的网络日志中。
详细日志开启方法

要获取原生层的具体报错信息,操作如下:

  1. 用Xcode打开项目下的ios/Runner.xcworkspace工程
  2. 在Info.plist中添加键值对:AVFoundationLoggingLevel,类型为Number,值设为3,即可开启AVPlayer的全量日志输出
  3. 直接通过Xcode运行项目到模拟器,所有原生层的加载错误都会输出在Xcode控制台,可定位具体失败原因
修复方案
  • 优先切换到Flutter stable分支的3.0及以上稳定版本,你遇到的video_player兼容问题在稳定版中已经完成修复
  • 若需保留当前Flutter版本,可在iOS工程的Info.plist中添加ATS配置:新增NSAppTransportSecurity字典,在字典下添加NSAllowsArbitraryLoads键,值设为YES,若只需放开特定域名,可添加NSExceptionDomains配置对应服务器域名即可
  • 如果你使用的是M1芯片的Mac,可切换到iOS 14版本的模拟器测试,或者直接使用iOS真机运行,该模拟器特有bug不会影响线上版本正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:15:02