gpt4 book ai didi

ios - 如何修复 CBPeripheralManager 传输队列已满?

转载 作者:行者123 更新时间:2023-11-29 12:47:40 24 4
gpt4 key购买 nike

我在 CBPeripheralManager 的方法中遇到问题。

- (BOOL)updateValue:(NSData *)value forCharacteristic:(CBMutableCharacteristic *)characteristic onSubscribedCentrals:(NSArray *)centrals

根据 Apple 文档,如果可以发送更新,它将返回 YES,如果可以,则返回 NO底层传输队列已满。

我得到了 NO。我应该如何解决这个问题?

最佳答案

当输出队列已满时,需要延迟发送响应。

工作队列方案。解决这个问题的最简单方法是创建一个 worker queue在其中插入要发送的数据 block ,并创建一个调度程序 block 来接收这些项目并将它们发送出去。当队列已满时,当前 block 被放回队列的头部并在收到 peripheralManagerIsReadyToUpdateSubscribers: 之后您尝试再次发送。如果中央断开或由于其他原因断开连接,则应取消所有发送。

关于ios - 如何修复 CBPeripheralManager 传输队列已满?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23240447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com