iOS 8 CoreBluetooth deprecated RSSI methods

喜欢而已 提交于 2019-12-04 12:18:59

问题


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

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?


回答1:


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.




回答2:


In iOS 8.1.1, peripheral:didReadRSSI:error: will only get called for peripherals that you are connected to. If you've merely discovered the peripherals with a scan and then called readRSSI on them, the callback will not be called.

Try connecting to the peripheral first (via CBCentralManager's connectPeripheral:options:), and then calling readRSSI.




回答3:


It works iOS 8.0.2, but it is throttled now. I send a readRSSI every 200ms and get a response only once a second. It worked fine with iOS 7.1.




回答4:


It works again in iOS 8.0.2!

use [myPeripheral readRSSI];



来源:https://stackoverflow.com/questions/25952218/ios-8-corebluetooth-deprecated-rssi-methods

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!