Waiting for a connection from Flutter on iPhone xs...
flutter连接iPhone调试一直waiting等待
排查问题以及,解决方案如下:
首先,确保手机和电脑在同一个网络下。
1、iOS 14+ 系统要求显式声明本地网络权限,否则无法通过 mDNS 协议发现 Flutter 调试服务 NSLocalNetworkUsageDescription 需要访问本地网络权限以调试 Flutter 模块 NSBonjourServices _dartobservatory._tcp
2、检查 iOS 工程是否集成 Debug 版本的 Flutter 产物(而非 Release),通过 flutter doctor 确认本地 Flutter SDK 版本与打包产物版本一致。 podfile中,源码模式
load File.join($flutter_application_path,'.ios','Flutter','podhelper.rb') install_all_flutter_pods($flutter_application_path)
3、关闭Mac的防火墙。
4、关闭手机热点(关闭热点,flutter clean,pub get pod install),多引擎项目或网络设置干扰导致 mDNS 无法正确广播或发现服务。
5、连接时机,正确操作顺序。启动原生 iOS 应用并进入 Flutter 页面(确保 Flutter 引擎已加载)。点击 Android Studio 的 Flutter Attach 按钮。
6、检查一下,App新安装的时候会弹窗 “xxx”想要查找并连接到本地网络上的设备(新系统会有注意一下,如果App有"xxx连接到本地网络上的设备"的权限申请弹窗,选择:允许)
7、检查一下,Mac电脑中(系统大于14.6)在隐私与安全性中有个"本地网络"(不是所有系统都有),里面有没有当前调试的IDE(Androidstudio)的开关授权。
最后,Flutter中点击attach按钮成功链接上手机调试,控制台打印结果如下:
Debug service listening on ws://127.0.0.1:62180/QYbadZEl1NE=/ws Error: unable to find directory entry in pubspec.yaml: /Users/zlf/.pub-cache/git/file_manager-1484f09a7bcbf7973f0bf1ed9b8cfa1a7e6b712e/assets/ Syncing files to device iPhone xs...