Get / Set Device Name of BT Peripheral

I have a Pedometer device that has a service UUID FFF0. When I scan for a device this service displays properly and I can access all related characteristics.

I also need to access the generic Bluetooth service with the UUID 1800. This service contains the characteristic for Device Name which has a UUID of 2A00. I was able to access both the service and characteristic UUID's from our Android App with no issue. I was able to get and set the Device name.

Unfortunately when I scan for services in the iOS app the UUID of 1800 is not returned.


What am i doing wrong? Is this a limitation of Core Bluetooth? If so is there a 3rd party library I can use, since this is a basic feature I need to provide.


Thanks,

Steve Sykes

iOS restricts direct access to certain characteristics. The Device Name characteristic is one of them.


You can access the name via the CBPeripheral objects .name property.


A couple things to keep in mind are:

- this is a read only property. You can't use it to change the name of the peripheral.

- the name is populated from either the advertising data or the GAP Name data. Once iOS connects to your device, it will cache the GAP Name and keep reporting that even if you are discovering it and have not connected yet. To see the advertised name specifically you need to look at the advertisent data passed on to the didDiscoverPeripheral method.

This restriction needs to be reviewed and hopefully revised! Apple preaches "User Experience" yet does not allow me to enhance my customer's experience by allowing them to customize the name of the peripheral. The device name is just a descriptive name. I've changed the device in an Android App, and the new name appears fine in the iOS app.


Consider this, a family buys 5 health monitors and are managing them with 1 App. How do you propose we distiguish one monitor from another, in a user friendly manner, certainly not with the UUID! By having this restriction I am unable to provide a complete and expected quality user experience.


Thanks for your answer. While it may be correct, it does not provide me with an adaquate solution.

If you would like for Apple to consider adding support for such features in the future, please submit an enhancement request via the Bug Reporter tool at <https://developer.apple.com/bug-reporting/>.


Explain clearly the hardship you believe this causes for the users, and how their experience could be enhanced.

FYI, I have *exactly* the same issue! Multiple devices need to be uniquely named

in the user's point of view, and CBPeripheral MUST be changed to support this intended

functionality.

( I will follow the suggestion in the previous message re: submitting change request).

Get / Set Device Name of BT Peripheral
 
 
Q