我正在使用Flutter
实现一个移动应用程序。当我尝试从Xcode
在iOS
真实设备上运行该应用程序时,收到以下错误:
[VERBOSE-2:FlutterObservatoryPublisher.mm(115)] Failed to register observatory port with mDNS.
只要设备连接到Mac并从Xcode
运行,这款应用就能正常运行。但当我试图直接从设备主屏幕打开它时,它就崩溃了。
此问题发生在iOS 14.0
和更高版本上。它在iOS 13.x
上工作正常。
6条答案
按热度按时间2q5ifsrm1#
添加此属性info.plist
7z5jn7bk2#
"我能修好它“”我就是这么做的“
打开iPhone模拟器,然后运行flutter项目。然后进入系统偏好设置〉安全性和隐私〉常规标签。您需要为iproxy授予权限(我不记得文件名,但您需要为该文件授予运行权限)。在模拟器上成功运行后,插入iPhone,再次按照步骤操作。
8ehkhllq3#
这几天我一直在处理这个问题(没有解决方案)。如果你有任何有用的信息,here你可以分享它(或者,也许,找到它)。
目前,我正在研究一个变通办法,我将尽快在该线程中分享。
lndjwyie4#
我调试了一个(基于object-c)flutter项目,我喜欢在Xcode中启动它,我发现在Xcode中启动应用程序比在终端中使用"flutter run"命令更快。然后我喜欢对它使用"flutter attach"进行热重新加载。
我经常遇到这种错误。
它似乎接触AppDelegate. m文件,强制它重新编译可以解决这个问题....
sycxhyv75#
这是原始文档
在iOS 14及更高版本上,在应用的调试版本中启用Dart多播DNS服务,以通过
flutter attach
添加debugging functionalities such as hot-reload and DevTools。在
Info.plist
中只添加键NSBonjourServices
,并将值设置为字符串为_dartobservatory._tcp
的数组。注意Xcode会将其显示为“Bonjour services”。或者,将密钥
NSLocalNetworkUsageDescription
集添加到所需的自定义权限对话框文本中。原始文档提到不应在Release版本中使用此功能,并且还提供了一些如何仅为Debug版本启用此功能的说明。
chy5wohz6#
Flutter官方文件
根据Flutter官方文件:
在iOS 14及更高版本上,在应用的调试版本中启用Dart多播DNS服务...
一种方法是为每个构建配置维护一个单独的应用Info.plist副本。
1.将应用程序的Info.plist重命名为Info-Debug. plist。创建一个名为Info-Release.plist的副本,然后将其添加到Xcode项目。
1.在Info-Debug.plist中只添加键NSBonjourServices,并将值设置为一个包含字符串_dartobservatory._tcp的数组。
1.在目标的构建设置中,将Info.plist文件(INFOPLIST_FILE)设置路径从path/to/Info.plist更改为path/to/Info-$(CONFIGURATION). plist。