避免在CoreBluetooth中重新连接时发现服务和特征

时间:2012-10-24 16:38:06

标签: ios core-bluetooth

我正在开发一款适用于iPhone的CoreBluetooth管理器应用程序。为了能够重新连接到先前发现的CBPeripheral,我保存外围设备的UUID(在CoreData中),然后调用CBCentralManager的retrievePeripherals:。我的didRetrievePeripherals:回调被调用,我可以连接,等等。到目前为止一直很好。

由于我正在重新连接到我已经了解的外围设备,因此我想避免发现它的服务和特性。所以当我第一次连接时,我保存了服务和特性的UUID(再次在CoreData中,以及外围设备的UUID)。

但我不能使用这些UUID来读取或写入特性,因为CBPeripheral的readValueForCharacteristic:或writeValueForCharacteristic:将CBC特性作为参数,并且没有API来构造CBC特性实例。

有没有办法避免在重新连接以前已知的外围设备时发现服务和特性?

1 个答案:

答案 0 :(得分:3)

Mezulu,您想使用加密/配对链接 - 然后iOS会为您进行缓存。请参阅我的回答here