BTLE iOS デバイス間の通信に CoreBlueTooth フレームワークを使用していますが、奇妙な動作が見られます。これが私がやっていることです:
- iOS デバイス 1 (周辺機器): 書き込み可能な特性を公開します。
- iOS デバイス 2 (セントラル): 書き込み可能な特性をスキャンし、それにデータを書き込みます。
- iOS デバイス 1 (ペリフェラル): 書き込み要求を受け取ります。データの受信を確認するまでしばらく待ちます。
- iOS デバイス 2 (中央): 以下のデリゲートでコールバックを取得し、前述のエラーを受け取りました。
問題: ここで、API を呼び出して数秒で書き込み要求に応答すると、[iPeripheral respondToRequest:iRequest withResult:iStatus]
すべて正常に動作し、Central で成功します。しかし、時間がかかると、ペリフェラルが書き込み要求に応答していなくても、エラー応答が返されます。
これは、数秒で何らかの接続が失われるのか、それとも既知の CB フレームワークの動作なのか、考えはありますか?
- (void)peripheral:(CBPeripheral *)iPeripheral didWriteValueForCharacteristic:(CBCharacteristic *)iCharacteristic error:(NSError *)iError
Error Domain=CBErrorDomain Code=0 "Unknown error." UserInfo=0x183a6d70 {NSLocalizedDescription=Unknown error.}
Central と Peripheral の両方が iOS 7.0 で実行されています。