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

Flutter应用iOS物理设备上HTTP及WebSocket请求缓慢问题咨询

问题根因确认

你遇到的是Flutter 2.6预发布版本在iOS物理设备上的已知原生网络栈适配bug,该问题触发条件如下:

  • 仅影响iOS物理设备,模拟器不受影响
  • 网络请求固定出现10秒延迟,同时覆盖HTTP/HTTPS、WebSocket所有网络请求类型
  • 仅出现在2021年8-9月的master/dev渠道版本,正式稳定版无该问题

触发原因

该问题来源于Dart SDK针对iOS平台getaddrinfo接口的适配缺陷:当网络环境同时存在IPv4/IPv6双栈时,Dart的DNS解析逻辑会优先等待IPv6解析超时(默认超时时间为10秒)后才会 fallback 到IPv4解析,最终表现为固定10秒的网络延迟。
iOS模拟器之所以无异常,是因为模拟器复用了MacOS系统的DNS解析能力,没有走Dart内置的iOS端DNS解析逻辑。

修复方案

你可以选择以下任意一种方案解决:

  1. 升级Flutter版本:该问题已经在2021年9月下旬的master渠道版本中修复,直接拉取最新master分支代码重新编译即可
  2. 临时规避方案(无需升级):在iOS项目的Info.plist中添加如下配置,禁用Dart的内置DNS解析,强制使用iOS系统原生网络栈:
<key>flutter_disable_dart_proxied_lookup</key>
<true/>
  1. 切换到稳定渠道:如果不需要使用master渠道的实验性特性,建议切换到Flutter稳定渠道,避免遇到此类预发布版本的缺陷。

验证方式

修改完成后清理项目缓存重新编译:

flutter clean
flutter pub get

在iOS物理设备上测试网络请求,10秒延迟会完全消失。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:06:03