0

I am working with scanning BLE devices (iBeacons and Eddystones) in iOS App, I need to uniquely identify scanned BLE devices, Since iOS device does not provide Mac address but it provides UUID which is device specific i.e. it uniquely identifies Beacon on one device but that UUID is different when scanned on another device.

I need uniqueness in BLE ID on all devices. Please suggest is there any way to do so ?

In order to resolve this I am thinking to add custom data in adverting packets of Scanned BLE devices. Please guide me if there is any way to add data in Adv Packets ?

Olive
  • 21
  • 5
  • You can't scan for iBeacons using Core Bluetooth. Some beacons may also advertise a BLE service, but this is not consistent nor guaranteed. To scan for iBeacons using Core Location you need to know the UUID you are looking for – Paulw11 Jul 02 '18 at 07:32
  • I am using Core Bluetooth as I need to scan all types of BLE devices and Also read its services and advertising packets. So is there any way in that case. – Olive Jul 02 '18 at 07:44
  • You can scan BLE devices using Core Bluetooth, but unless the iBeacon in question also offers a BLE service you won't see it. Unless the device has some characteristic that uniquely identifies it you cannot determine that a device seen by one iOS device is also seen by another iOS device. – Paulw11 Jul 02 '18 at 09:03
  • 1
    _it provides UUID which is device specific_ - no, UUID is not device specific, it's vendor specific. What you need to uniquely identify a beacon are its `major` and `minor` values. To range beacons you use Core Location – mag_zbc Jul 02 '18 at 09:18
  • What we do in our solution is use a single UUID to identify a bluetooth device as one of ours (Same on all of them). We then put the unique identifier for each device in the major value – Taylor Maxwell Nov 01 '18 at 18:03

0 Answers0