Search code examples
iosobjective-cios8core-bluetooth

iOS 8 CoreBluetooth deprecated RSSI methods


So from reading the CBPeripheralDelegate documentation, it appears that RSSI and peripheralDidUpdateRSSI:error: were deprecated with iOS 8.

Xcode warning:

'rssi' was deprecated in iOS 8.0

I noticed that my signal strength indicator was no longer being updated, so I did some research and found a new method ([CBPeripheralDelegate peripheral:didReadRSSI:error:]) that supposedly get called back asynchronously after calling the readRSSI method. Unfortunately, this method does not seem to get called back either, even though I did set the parent class as the CBPeripheral delegate.

Has anyone else had issues with the iOS 8 CoreBluetooth updates?


Solution

  • There is a known issue that has been posted about this on the Apple Developer forums to which I have an open radar as well.

    The issue seems to be that the new callback method peripheral:didReadRSSI:error: is never called on iOS 8 specifically after the initial connection is made to a peripheral. The only resolution I have found is to reset bluetooth on your phone by turning it on/off or restarting the phone.

    Here is the link to open radar I filed.

    UPDATE:

    Just tested my example that was displaying this issue with the current 8.2 release and I am no longer seeing any issues with the new iOS 8 delegate method never being called. I am marking my radar as resolved per the 8.2 release.