我在CBPeripheralManager的方法中有一个问题。
- (BOOL)updateValue:(NSData *)value forCharacteristic:(CBMutableCharacteristic *)characteristic onSubscribedCentrals:(NSArray *)centrals根据Apple documentation的说法,如果可以发送更新,它将返回YES,如果底层传输队列已满,则返回NO。
我要去找NO。我该如何解决这个问题呢?
发布于 2014-04-25 13:46:02
当输出队列已满时,您需要延迟发送响应。
工作队列方案。解决此问题的最简单方法是创建一个worker queue,在其中插入要发送的数据块,并创建一个dispatcher块,该块获取项目并将其发送出去。当队列已满时,当前块被放回队列的头部,在接收到peripheralManagerIsReadyToUpdateSubscribers:之后,您将尝试再次发送。如果中心已断开连接或由于其他原因导致连接中断,则应取消所有发送。
https://stackoverflow.com/questions/23240447
复制相似问题