We are a hardware manufacturer. Our devices are connected via Ethernet to Mac mini systems, where our custom macOS application is installed and communicates with the connected hardware. The application is signed and deployed as a standard application bundle.
Description
The application performs a UDP broadcast using the Universal Plug and Play (UPnP) discovery mechanism to locate devices connected to the same local network segment.
We have observed a reproducible issue with macOS 15.x (confirmed with 15.1 through 15.4), where the discovery fails under specific circumstances. The behavior is as follows:
- If the application is launched via Finder (e.g., double-clicked by the user), no device is discovered.
- If the same binary is launched from the Terminal, discovery works as expected and the connected device is found.
- Downgrading the affected Mac mini to macOS 14.x (e.g., Sonoma 14.0 or 14.1) restores the expected behavior—discovery works via Finder as well.
- The issue is observed only on Intel-based Mac minis.
- On Apple Silicon (ARM-based) Mac minis, the discovery via Finder works correctly, even on macOS 15.4.
What we know
- The problem is tied to how the network stack or sandboxing behaves when the application is launched via Finder.
- There are no visible error messages.
- It is unclear whether the broadcast packet is being blocked, or if the response from the device is dropped or filtered by the system.
Reproduction Steps
- Install our signed application bundle on a Mac mini (Intel).
- Connect our device via Ethernet to the Mac mini.
- Launch the application via Finder – the device is not found.
- Quit the application.
- Launch the same binary from Terminal – the device is correctly discovered.
- Downgrade the same system to macOS 14.x – discovery works in both cases (Finder and Terminal).
- Upgrade to macOS 15.x – the issue reappears.
Technical Details
- macOS Version(s) Affected: 15.x (confirmed with 15.1 through 15.4),
- Mac mini Model: Intel-based Mac minis
- Type of Communication: UDP broadcast using UPnP
- Reproducibility: 100% reproducible with affected macOS versions.
- Software Environment: Custom application developed by us, running as a user-space application under standard macOS network APIs.
- No Issues: When the same setup is used on earlier macOS versions.
Request
- Can you confirm whether this is expected behavior due to changes in macOS 15 (e.g., sandboxing, entitlements, network permissions)?
- What steps or configuration changes are required to ensure UDP discovery works again when the application is launched via Finder?
- Are there relevant macOS logs (e.g., Console, system logs) we can inspect for network-related blocks or errors?
We would appreciate any guidance or clarification on how to adapt our application or system configuration to restore expected network discovery behavior.
Thank you in advance for your support!
This sounds like you’re bumping into local network privacy. For lots of info about that feature, see TN3179 Understanding local network privacy.
Additionally, implementing UDP broadcasts correctly is a challenge, and bugs in your code tend to manifest in weird ways. I recommend you read through my Extra-ordinary Networking post, and specifically the Broadcasts and Multicasts, Hints and Tips post that it links to. (To be clear, I’m almost certain that your problem in local network privacy, but the techniques discussed in Extra-ordinary Networking are import for creating a product that works in all environments.)
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"