0

我正在开发一个应用程序,该应用程序使用 CoreBluetooth 扫描特定的 BLE 设备以播出。该设备开始播放并被读取并与之交互。我的问题是,当设备在几分钟后拔出并重新插入时,didDiscoverPeripheral委托方法不会再次被调用。我通过以下代码指定了“允许重复”选项:

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

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

4

1 回答 1

2

您的代码:

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

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

应该 :

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:TRUE],CBCentralManagerScanOptionAllowDuplicatesKey, nil];
于 2013-11-08T07:41:16.133 回答