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