Reference v4.0 Vol 3 Part G Section 3.1
A device or higher level specification may have multiple service definitions and may have multiple service definitions with the same service UUID.
I'm doing some development for the iPhone (Central) that's connecting to a specific peripheral. The peripheral that the iPhone's connecting to is also scanning for beacons (ADV_NONCONN_IND, not iBeacon) in the wild, and modifying the locally hosted GATT server to have services that will be a representation of each beacon.
Should I randomly generate a UUID for each beacon that's represented as a service on the GATT server? I know the spec says that a device can have multiple service definitions with the same UUID, but I question if the iPhone API will be able to distinguish that there are multiple definitions of the service under the same UUID. (I'm worried about some type of internal flatten measure in Core Bluetooth)
I guess the only real way to see if this is the case is put together a simple example and see if the iPhone will show me multiple services that have the same UUID. The UUID in our case is just another unique identifier that would need to be kept track of, seeing as we have plenty of other properties we could index by.
If there are any experts on the matter, I would love to hear some insight on the matter! This is a learning attempt!
Thanks,
Bryce Jacobs
Services with same UUID can be distinguished by different handle in GATT server. These services can be treated as multiple instances of a service type.