This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Custom Service UUID : iOS values not as expected

We're migrating from Zentri AMS002 chip to to nRF52840.

We use custom service UUID: "175f8f23-a570-49bd-9627-815a6a27de2a" in nRF firmware.

As attached images show, custom UUID works as expected with Android.

On iPhone nRF does not show custom UUID value as expected, while Zentri AMS002 shows custom UUID value as expected.

Attached: 
nRF_Connect_Screenshot_20191230-131556.jpg
custom_service_UUID_AMS002_20191230_131508.jpg
custom_service_UUID_nRF52840_20191230_131443.jpg
nRF52840_iOS_wrong_UUIDs.jpg

Where do we find resolution to get nRF to provide expected UUID values?

  • Hi,

    I suspect might be related to attribute caching since the UUIDs are correctly shown on the Android phone. Attribute caching is an optimization that allows GATT client to remember services across connections, so it doesn't have to repeat the service discovery on every re-connect. You can try to clear the cache by first making sure the device is not displayed in the "my device" list in ios settings -> Bluetooth, then reboot the phone (toggling flight mode enable should have the same effect as well). 

    There is a good summary of the attribute caching feature in the Bluetooth core specification if you are interested, see vol. 3, part G, section 2.5.2. 

Related