iOS 26真机flutter attach无法发现Dart VM Service求解决方案
针对iOS 26真机Flutter attach无法发现Dart VM Service的解决方案
关于你的第一个问题
已有开发者在Flutter 3.35.2 + iOS 26真机环境下成功执行flutter attach,但需要针对iOS 26的新网络隐私规则调整配置。
有效解决方案(按优先级排序)
显式声明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中添加该配置。完善Local Network权限描述
iOS 26对本地网络权限的用途描述要求更严格,确保Info.plist中包含清晰的调试用途说明:<key>NSLocalNetworkUsageDescription</key> <string>用于连接开发设备调试Flutter代码</string>配置后需重新安装应用,确保权限弹窗正常触发并被允许。
手动指定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
- 启动应用后,查看Xcode控制台日志,找到类似
版本适配方案
- 升级至Flutter 3.36及以上版本:官方已针对iOS 26的网络发现问题推送修复补丁
- 若暂时无法升级,可降级iOS版本至25进行调试,等待Flutter后续的稳定适配更新
额外验证点
- 确认Mac和iPhone的Wi-Fi处于同一2.4G/5G频段(部分iOS 26设备对跨频段的Bonjour发现支持不佳)
- 关闭Mac的"防火墙"(系统设置→网络→防火墙),或添加Flutter工具的例外规则
内容的提问来源于stack exchange,提问作者Rajitha Perera
相关产品推荐
相关产品推荐

