Getting list of available bluetooth devices in ios
Asked Answered
C

2

2

Is there a way to get list of mac addresses of available bluetooth devices in ios? I'm working on a programm which finds people nearby using bluetooth mac addresses.

Coonhound answered 26/3, 2014 at 17:28 Comment(2)
Can you show what you have attempted so farPaly
Not by MAC address but an automatically generated UUID. Also, note that there are lots of limitations but they are somewhat documented in the header files and in many-many stack overflow questions. So be ready to use google, it's your friend.Avelinaaveline
P
1

I'm sure you have:

[centralManager scanForPeripheralsWithServices:nil
                                       options:nil];

That means your app is searching for BLE peripherals.

Every time your app discovers a peripheral invokes:

- (void)centralManager:(CBCentralManager *)central
didDiscoverPeripheral:(CBPeripheral *)peripheral
 advertisementData:(NSDictionary *)advertisementData
              RSSI:(NSNumber *)RSSI 

You can add each discovered peripheral to an NSArray of CBPeripheral

Platinic answered 26/3, 2014 at 17:31 Comment(2)
Note that according to what the user want, you won't get the MAC Addresses, since they are hashed (with a timestamp and the own iDevice MAC Address).Acrospire
Sure he can only get the Service's UUIDs from advertisementData.Platinic
W
1

It is generally not possible, as iOS does not expose the Bluetooth address to the app.

If you are using non-iOS Bluetooth peripherals, you can manually include the BD_ADDR into the Manufacturer Info field of the advertising data. iOS exposes this manufacturer info, and you can get the BD_ADDR from there.

For many use cases, the UUID that iOS generates for each device is sufficient. If you could provide more details (possibly in a follow-up question), there may be a good chance that a solution can be found that does not need this workaround.

Waistcloth answered 31/3, 2014 at 9:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.