iOS设备运行Flutter报错SocketException: No Route to Host(errno=65)如何解决?
解决iOS设备执行
flutter run时的SocketException错误 针对你遇到的SocketException: Send failed (OS Error: No route to host, errno = 65)错误(关联mDNS端口5353),以下是可行的解决步骤:
1. 强制跳过mDNS查找,使用USB直连
执行命令时添加--no-dds参数,禁用mDNS驱动的服务发现:
flutter run -d 00008140-00063CA81413001C --no-dds
如果仍有问题,可手动转发USB端口:
- 先安装libimobiledevice工具(若未安装):
brew install libimobiledevice - 执行端口转发:
iproxy 8080 8080 - 再启动项目:
flutter run --vm-service-url=http://localhost:8080 -d 00008140-00063CA81413001C
2. 检查网络与服务配置
- 关闭Mac上的防火墙,或在防火墙设置中允许Flutter工具的网络访问权限
- 暂时关闭VPN、代理软件,避免拦截mDNS数据包
- 确保Mac的Bonjour服务正常运行(mDNS依赖该服务,可通过重启Mac验证)
3. 重置Flutter环境
- 清理项目缓存:
flutter clean - 重新获取依赖:
flutter pub get - 修复Flutter工具:
flutter doctor --repair
4. 手动通过Xcode启动后再附加Flutter
- 用Xcode打开项目的
ios文件夹,先成功运行App到iOS设备 - 执行Flutter附加命令:
flutter attach -d 00008140-00063CA81413001C
5. 更新Flutter到最新稳定版
flutter upgrade
内容的提问来源于stack exchange,提问作者Mahammad Azimzada
相关产品推荐
相关产品推荐

