![](/img/trans.png)
[英]iOS 11 CoreBluetooth: Cannot remove an observer CBPeripheral for the key path “delegate”
[英]iOS CoreBluetooth CBPeripheral didReceiveReadRequest
我有两个项目。 一个充当中心,另一个充当外围设备。 中央已连接到外围设备,然后中央调用方法readValueForCharacteristic
。 不是立即,而是在大约5-10秒后,外围设备调用了委托方法- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
。 为什么会有延迟? 如何消除延迟? 有什么想法吗? 我已经尝试了将近一个星期。 感谢每一个帮助,谢谢
- (void)sendBtnClick:(id)sender
{
USCPeerBtn *btn = (USCPeerBtn *)sender;
CBPeripheral *peripheral = btn.connectedPeripheral;
if (!peripheral) {
return;
}
[self.charachterMDict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if (key == peripheral) {
[(CBPeripheral *)key readValueForCharacteristic:(CBCharacteristic *)obj]; // read
*stop = YES;
}
}];
}
// CBPeripheralManagerDelegate
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
{
NSLog(@"didReceiveReadRequest");
}
调用respondToRequest:
在方法- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
// CBPeripheralManagerDelegate
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
{
[peripheral respondToRequest:request withResult:CBATTErrorSuccess];
NSLog(@"didReceiveReadRequest");
}
@ Paulw11,谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.