scan response

I’m on macOS, and when my test app sends BLE advertisements, the advertising packet includes the local name and UUID. If my data exceeds 31 bytes, according to the official documentation, the local name should be moved to the scan response. However, on macOS the local name gets dropped, while on iOS sending the same packet places the local name in the scan response. During macOS testing, the app is in the foreground, and the OS version is macOS 26. Is this behavior expected, and how can I prevent the local name from being discarded?

I have the same issue with macOS 26. Not sure about earlier OS versions. You may consider using a short form UUID instead (four hex bytes) from the private range if possible. Otherwise, you would need to add a read characteristic for the central to query the name.

scan response
 
 
Q