Home Articles

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

Asked
Viewed 202 times
9

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

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

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

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

1 Answer

  • 3

    Mezulu,你想使用加密/配对链接 - 然后iOS会为你做缓存 . 看到我的回答here .

Related