In the products that I am developing we use advertising packets in the scan response to pass some data around our devices. We wanted a way for the app we've made for iOS to participate. Mac doesn't give us full control over the Bluetooth stack, but it gives us the option to change the Short Local Name (BLE_GAP_AD_TYPE_SHORT_LOCAL_NAME). We are having it modify that name to pack our data in it and modifying the scanner code I've written to parse the Short Local Name. The problem is I never receive the Short Local Name data from in the event data pointer. I've checked the raw data and see all the other devices I'm working on around the office, but never the altered Short Local Name. Using nRF Connect I can find the device and watch it update values live. It seems like the Softdevice filters away data from iOS devices or even all smart phones. I'm not sure what it is and I haven't any documents that suggest that. So my question is: am I not getting the data because it's not passed along by the Softdevice and are there some settings that I can change to reconfigure the Softdevice to pass that information along to my code.
The below code parses out the device Short Local Names fine, but I don't think that the data is ever getting passes to this snippet of code from the iPod I'm using to test, but the iPod does seem to broadcast the altered Short Local Name. There are a few log hex dumps where I can observe the raw packets and what has been found.
Here's a screen shot of the correct data in nRF Connect:
I'm using SDK15.3 and Softdevice 6.1.1 with my Windows 10 workstation running Segger Embedded Studio V4.50