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

iOS 26真机flutter attach无法发现Dart VM Service求解决方案

针对iOS 26真机Flutter attach无法发现Dart VM Service的解决方案

关于你的第一个问题

已有开发者在Flutter 3.35.2 + iOS 26真机环境下成功执行flutter attach,但需要针对iOS 26的新网络隐私规则调整配置。

有效解决方案(按优先级排序)

  1. 显式声明Bonjour服务(核心修复)
    iOS 26大幅收紧了Bonjour服务的自动发现权限,Flutter的Dart VM依赖_dartobservatory._tcp服务进行设备发现,必须在Info.plist中显式声明:

    <key>NSBonjourServices</key>
    <array>
        <string>_dartobservatory._tcp</string>
    </array>
    

    对于嵌入原生iOS的Flutter模块,需要在宿主App的Info.plist中添加该配置。

  2. 完善Local Network权限描述
    iOS 26对本地网络权限的用途描述要求更严格,确保Info.plist中包含清晰的调试用途说明:

    <key>NSLocalNetworkUsageDescription</key>
    <string>用于连接开发设备调试Flutter代码</string>
    

    配置后需重新安装应用,确保权限弹窗正常触发并被允许。

  3. 手动指定VM Service地址attach
    如果Bonjour发现仍失败,可以直接通过IP和端口连接:

    • 启动应用后,查看Xcode控制台日志,找到类似Dart VM Service is listening on ws://192.168.x.x:xxxx/ws的日志
    • 执行命令:
      flutter attach --debug-url ws://192.168.x.x:xxxx/ws
      
  4. 版本适配方案

    • 升级至Flutter 3.36及以上版本:官方已针对iOS 26的网络发现问题推送修复补丁
    • 若暂时无法升级,可降级iOS版本至25进行调试,等待Flutter后续的稳定适配更新

额外验证点

  • 确认Mac和iPhone的Wi-Fi处于同一2.4G/5G频段(部分iOS 26设备对跨频段的Bonjour发现支持不佳)
  • 关闭Mac的"防火墙"(系统设置→网络→防火墙),或添加Flutter工具的例外规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 12:12:38