让CoreBluetooth第二次检测设备

时间:2013-11-07 18:01:49

标签: bluetooth bluetooth-lowenergy core-bluetooth

我正在开发一款使用CoreBluetooth扫描特定BLE设备的应用程序。该设备播出,可以阅读和交互。我的问题是,当设备拔掉并在几分钟后插回时,didDiscoverPeripheral委托方法不再被调用。我通过以下代码指定了'allow duplicates'选项:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],@"CBCentralManagerScanOptionAllowDuplicatesKey", nil];

是否有任何方法可以在每次播出该模块时触发didDiscoverPeripheral方法,无论它何时消失多久?有没有人知道设备断开与CoreBluetooth管理器再次看到它之间的“超时”是什么?

1 个答案:

答案 0 :(得分:2)

您的密码:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],@"CBCentralManagerScanOptionAllowDuplicatesKey", nil];

此代码使用文字NSString @“CBCentralManagerScanOptionAllowDuplicatesKey”作为键但不是实际键。

应该是:

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],CBCentralManagerScanOptionAllowDuplicatesKey, nil];