私はiPhone用のCoreBluetoothマネージャーアプリに取り組んでいます。以前に検出されたCBPeripheralに再接続できるようにするには、ペリフェラルのUUIDを(CoreDataに)保存してから、CBCentralManagerのretrievePeripheralsを呼び出します。私のdidRetrievePeripherals:コールバックが呼び出され、接続できるなど。これまでのところ順調です。
すでに知っている周辺機器に再接続しているので、そのサービスや特徴を発見することは避けたいと思います。そのため、最初に接続するときに、サービスと特性のUUIDを(ここでもCoreDataに、周辺機器のUUIDとともに)保存します。
ただし、CBPeripheralのreadValueForCharacteristic:またはwriteValueForCharacteristic:はパラメーターとしてCBCharacteristicを取り、CBCharacteristicインスタンスを構築するためのAPIがないため、これらのUUIDを使用して特性を読み書きすることはできません。
以前に知られている周辺機器と再接続しているときにサービスと特性を発見することを回避する方法はありますか?