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

mez*_*ulu 9 ios core-bluetooth

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

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

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

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

Wil*_*son 4

Mezulu,您想要使用加密/配对链接 \xe2\x80\x93 那么 iOS 将为您进行缓存。在这里查看我的答案。

\n