我一直在使用 CoreBlueTooth 框架在 BTLE iOS 设备之间进行通信,但我看到了一个奇怪的行为。这是我正在做的事情:
- iOS 设备 1 (Peripheral):公开一个可写特性。
- 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 上运行。