8
我正在開發使用Corebluetooth框架的應用程序,corebluetooth閱讀RSSI錯誤:操作被取消
並連接到BLE裝置來獲得RSSI值。
我設置一個函數來periodly讀RSSI,計時器代碼如下
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:1.2f target:self selector:@selector(detectRSSI) userInfo:nil repeats:YES];
和detectRSSI代碼如下
- (void)detectRSSI
{
[self.peripheral readRSSI];
}
所以現在的問題是,
功能工程罰款,但當我設定的時間間隔少於1.2秒,
該p eripheralDidUpdateRSSI會隨機報告錯誤信息是這樣的:
The operation was cancelled.
而如果率超過1.2sec它不會發生。
有沒有人有任何想法更頻繁地閱讀RSSI值(0.5秒或更少)?
也許會轉而:peripheral.RSSI – 2013-09-12 13:38:57
如果我只調用[外設RSSI]或peripheral.RSSI的RSSI是改變不了的。在調用[peripheral readRSSI]之後,該值將被更新。最後,我發現了固件定義讀取頻率極限的答案。 – momoyo 2013-12-02 10:42:52
如果您使用BLE,請使用'didRangeBeacons:'。該設備每秒只能掃描很多次。 – random 2014-02-07 01:59:55