iOS Simulator: "Local Network" Permission Denied - Auth Prompt Not Appearing on Xcode 16.4 / iOS 18

Troubleshooting

Hello everyone,

I'm encountering a persistent issue when running my app on the iOS Simulator in Debug Mode from FlutterFlow. I'm hoping someone in the community has a solution.

The Problem: The build completes successfully, but at runtime, I get the following error in the console:

[ERROR:flutter/shell/platform/darwin/ios/framework/Source/FlutterDartVMServicePublisher.mm(130)] Could not register as server for FlutterDartVMServicePublisher, permission denied. Check your 'Local Network' permissions for this app in the Privacy section of the system Settings.

The core issue is that the standard iOS permission popup asking for "Local Network" access never appears on the simulator, so I have no way to grant the permission. This prevents Hot Reload and other debugging features from working.

My Environment:

  • Xcode Version: 16.4

  • iOS Simulator Version: 18.x (the one included with Xcode 16.4)

  • I am running the app from FlutterFlow's web IDE (Test or Run mode).

What I Have Already Tried (Unsuccessfully): I believe I have tried all the standard solutions, but the prompt still won't appear:

  1. Added NSLocalNetworkUsageDescription: I have correctly added the NSLocalNetworkUsageDescription key and a description message in FlutterFlow under Settings > Permissions > Custom. I have downloaded the code and confirmed the key is present in the Info.plist file.

  2. Tried Adding NSBonjourServices: I found information suggesting that the NSBonjourServices key (with _dartobservatory._tcp) is also required for newer iOS versions. However, it's not possible to add a key with an array value through FlutterFlow's custom permissions UI.

  3. Full Simulator Reset: I have used the Device > Erase All Content and Settings... option to completely wipe the simulator and did a fresh install. The prompt did not appear.

  4. Updated Xcode & SDK: I updated Xcode to the latest version (16.4) and the Flutter SDK to the latest stable version available in FlutterFlow. The issue persists.

  5. Regenerated Config Files: I have used the "Regenerate Config Files" button in FlutterFlow's settings.

Despite all of this, the permission prompt never shows up on the simulator. The app itself runs, but without debugger communication.

My Question: Has anyone else encountered this specific issue with the latest Xcode 16.4 / iOS 18 simulator environment where the Local Network permission prompt simply does not appear?

Are there any other known workarounds or solutions besides the two final options I'm aware of (testing on a real device, or downloading the code to manually edit the Info.plist)?

Thank you for any help or insight you can provide!

What have you tried so far?

- Correctly added the 'NSLocalNetworkUsageDescription' key via the Permissions settings and verified its presence in the Info.plist.
- Researched the 'NSBonjourServices' key, but found it's not possible to add array-type plist keys through the FF UI.
- Fully erased the iOS Simulator using the "Erase All Content and Settings" option. - Updated Xcode to the latest version (16.4).
- Updated the project to use the latest stable Flutter SDK available in FlutterFlow. - Used the "Regenerate Config Files" feature in FlutterFlow.

Did you check FlutterFlow's Documentation for this topic?
No