Can I measure Bluetooth signal strength in iOS?

bluetooth, ios, iphone, objective-c

Solution

Yes there is a way to measure the signal strength for Bluetooth Low Energy (4.0) it is the RSSI number. When you scan for peripherals you will set the flag CBCentralManagerScanOptionAllowDuplicatesKey to YES as shown below:

NSDictionary * dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@YES, CBCentralManagerScanOptionAllowDuplicatesKey, nil];

// Start scanning for peripherals
[cmanager scanForPeripheralsWithServices:nil options:dictionary];

If you want to see the RSSI number work without writing any code you should check out the app LightBlue in iTunes. When you connect to a peripheral it will show you the updated RSSI number every second when it is connected.

Problem

Can I measure the signal strength of Bluetooth devices within range of my iPhone? Basically what I want to do is scan for a list of devices within range, and then see which one has the highest signal strength. Is it possible in iOS and how would I do it if so?

Original source