For example, Bluetooth SIG has predefined the 16-bit UUID that identifies a heart rate service as 180D. Though not all UUIDs that identify a service or characteristic are predefined by the Bluetooth Special Interest Group (SIG), Bluetooth SIG has defined and published a number of commonly used UUIDs that have been shortened to 16-bits for convenience. The services and characteristics of a peripheral are identified by 128-bit Bluetooth-specific UUIDs, which are represented in the Core Bluetooth framework by CBUUID objects. CBUUID *deviceInfoUUID = [CBUUID UUIDWithString: audio devices (headsets, A2DP devices etc) are visible as audio devices through the audio session classes -ĭetect attached audio devices iOS Answer2: You could try using a common service, such as Device Information - 0x180A - as most BLE devices will advertise this service but it is not guaranteed. You can't use this method unless you know at least one service exposed by the device. So its pretty clear that if the return array count is greater than 0 than its connected to atleast one device.īut before using this API I am not able to figure it out the argument (serviceUUIDs) that I have to passed here.Ĭan someone explain here with an example? Answer1: (NSArray *)retrieveConnectedPeripheralsWithServices:(NSArray *)serviceUUIDs NS_AVAILABLE(NA, 7_0)