繁体   English   中英

iOS CoreBluetooth CBP外围设备didReceiveReadRequest

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM