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

CBCentralManager on iOS is not detecting readers of type nRF52840

We're trying to diagnose an issue that's occurred to at least two of our customers. For some reason, we've found two different iPhones that are seeing our reader (nRF52840) believe it's an Apple Watch. Specifically, the "nRF Connect" app labels it as an Apple Watch, and our own app which looks for the specific service can't find it, even though the details are correct.
Do you have any thoughts or could put us in touch with someone who knows might more, or can tell us how the nRF Connect even gets the name "Apple Watch" since our device would never have sent that?
Txs,
Gus.
  • Hi Gus,

    It sounds strange. I haven't seen reports of BLE devices being mistaken for Apple watches before. Have these two iPhones been tested with several "readers," or just one each? The only explanation I can think of is that it may be related to caching somehow. You can clear device cache by removing the device(s) in Bluetooth settings, followed by a reboot. 

    Best regards,

    Vidar

  • Those two phones were tested on this precise moment with other readers and the phone saw the other readers without a problem, even more, by the next day the same phone went back to normal and saw the reader as used to see it.

    About the cache problem, I don't get how in the first place the reader can advertise that he is an Apple Watch. Is that what you were suggesting?

  • Are the two failing phones running the same version of iOS, and are they both of the same model? In any case,  I think a bug on the iPhone side must be what's causing this. A custom BLE device should never appear as an Apple watch. Or I guess it could be possible if the devices were specifically programmed to advertise the same data as a watch would.  You may try to inspect the advertisement data with a different phone to verify that your service UUID is still being advertised. 

    Caching may explain why the problem persists across connections, but not why this happens in the first place.

  • Hi Vidar,

    As we mentioned in the beginning, we have been using the app nRF Connect in cases when our app doesn't see a reader. And I understand that nRF Connect app is a Nordic Semiconductor app, your app. Am I right?

    Therefore could be very helpful for us, if you know how or if you can ask how/where the nRF app gets the information that displays "Apple Watch"? What specific information is it using that would cause that display?

    Please see the images attached below:

  • The app should simply display the adv data it gets from the Bluetooth stack, and "Apple watch" is what seems to be the reported device name in this case. You can try another third-party app such as Lightblue and see if you get the same result. 

Related