Repository navigation
iOS mDNS lookup fails until a dialog box is clicked #46704
Description
Activity
- addedc: regressionIt was better in the past than it is nowIt was better in the past than it is nowplatform-iosiOS applications specificallyiOS applications specificallytoolAffects the "flutter" command-line tool. See also t: labels.Affects the "flutter" command-line tool. See also t: labels.engineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.customer: crowdAffects or could affect many people, though not necessarily a specific customer.Affects or could affect many people, though not necessarily a specific customer.a: annoyanceRepeatedly frustrating issues with non-experimental functionalityRepeatedly frustrating issues with non-experimental functionality
on Dec 10, 2019 @christopherfujino and I were looking into this at one point. As I recall, our discussion was something like having the tool/doctor check if the current Dart binary had an exception allowed in the firewall or not. I don't think we had come up wiht a way to bypass the allow/deny box altogether though.
I don't believe this is a regression though, or an engine issue.. Removing those labels.
- removedengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.c: regressionIt was better in the past than it is nowIt was better in the past than it is now
on Dec 10, 2019 - addedc: regressionIt was better in the past than it is nowIt was better in the past than it is now
on Dec 10, 2019 Adding back the regression label since vmservice connections used to work without doing this.
Fair enough - although that was only because of log-scanning. We always had this dialog pop up the first time you tried to run
flutter attachusing mDNS.And the doctor check wasn't a perfect solution either, because it is still dependent on the user recognizing the dialog and accepting.
In https://storage.googleapis.com/flutter_infra/flutter/ac9391978e7c0693b75a82c219e059b6ffee35c4/dart-sdk-darwin-x64.zip (v1.12.13+hotfix.4) the dart binary isn't codesigned at all and doesn't have any networking entitlements like https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_network_server
$ codesign -d --entitlements - dart-sdk/bin/dart dart-sdk/bin/dart: code object is not signed at allReacted by Dan Field and Jonah WilliamsReacted by xsterGood catch @jmagman, working on this!
Reacted by Jenn MagderThe next hotfix to beta will be codesigned, and have the additional networking entitlements which will resolve the dialog box popping up. The next dev release should also pick up the entitlements. I will close this issue when both the beta and dev releases are published.
Reacted by Dan Field and Zachary AndersonThis is fixed on beta and the new stable release. Dev release should be very soon...
This should now be fixed on dev, beta, and stable, due to the dart binary now being signed with network entitlements. The dialog will still pop up on master, however, due to #44372.
It looks like due to a bug in the codesigning script, the appropriate entitlements were not added. Re-opening pending a fix to the codesigning process.
@christopherfujino If it's still needed, let's track the codesigning script bug in a separate issue.
Thanks @zanderso. This was indeed fixed and I forgot to double back and close this issue.
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.- locked as resolved and limited conversation to collaborators
on Aug 19, 2021
Splitting off from #41085.
With Catalina and iOS 13, iOS mDNS lookup is reported to fail until a prompt from macOS is approved to allow dart to accept incoming network connections.
This issue is to investigate and recommend a fix, or an error message from the
fluttertool as appropriate.@dnfield @christopherfujino @jmagman @tvolkert