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

How do they display Appearance info on iOS in NRF Connect?

The nRF Connect app on iOS is able to display "Appearance" information that displays known devices such as a Wearable or TV set. 

After some research, the Appearance value is a characteristic (0x2A01) under Generic Access Profile (GAP)

I can not find any reference on how to access this information via CoreBluetooth on iOS. 

nRF Connect is able to display icons for device types in the scan results, and my only guess as to how they determine the device type would be through the Appearance value. But I cannot figure out how they get that information on iOS! 

I understand this is an iOS-centric question, but since the nRF Connect app has figured out a way to determine this info, I'm hoping someone here can weigh in to help me understand how they have accomplished this.

Thanks!

 

Parents
  • Hi ,

    This "Appearance" value is custom to nRF Connect for iOS. We use a combination of Device Name (Peripheral or Advertised), its Advertised Services and Manufacturer Data to give it an "Appearance" which then feeds into the icon you see next to it.

    nRF Connect for iOS is not open-sourced by Nordic, it's the only one of our iOS projects we don't share publicly, so I'm afraid I cannot point you to the code. But that's basically it, just "common-sense logic" we're building up as we go. For example, we have an Appearance for related to the ContactTracing Service, however, it's unlikely you'll see it because CoreBluetooth filters it out :)

Reply
  • Hi ,

    This "Appearance" value is custom to nRF Connect for iOS. We use a combination of Device Name (Peripheral or Advertised), its Advertised Services and Manufacturer Data to give it an "Appearance" which then feeds into the icon you see next to it.

    nRF Connect for iOS is not open-sourced by Nordic, it's the only one of our iOS projects we don't share publicly, so I'm afraid I cannot point you to the code. But that's basically it, just "common-sense logic" we're building up as we go. For example, we have an Appearance for related to the ContactTracing Service, however, it's unlikely you'll see it because CoreBluetooth filters it out :)

Children
No Data
Related