iOS 6 は、既知の周辺機器への再接続が高速になるように、発見されたサービスと周辺機器の特性をキャッシュすると思われます。ただし、私のアプリでは機能しないようです。
接続後に周辺機器を保存し、再接続時に、保存された周辺機器の UUID を使用して retrievePeripherals を呼び出します。didRetrievePeripherals が呼び出され、周辺機器に接続します。didConnectPeripheral が呼び出され、discoverServices を呼び出します。サービスがキャッシュからアプリに返されることを期待していました。ただし、サービス テーブルは周辺機器から読み取られます。
アプリがサービス テーブルの読み取りでビジー状態になっているため、周辺機器から送信された最初の測定値を見逃しています。
キャッシュが読み取られない理由を知っている人はいますか? どこかに設定する必要があるオプションはありますか?