gpt4 book ai didi

ios - 直接写入已连接的 CBPeripheral 而无需重新发现它

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:24 27 4
gpt4 key购买 nike

在我的应用程序中,我需要将数据写入外设的可写特性。我能够通过扫描外围设备、检测并连接到外围设备、发现服务、发现特征然后最后写入目标特征的过程来做到这一点。

完成所有这些后,我保留了我感兴趣的 CBPheripheral 和 CBCharacteristic 的引用。现在,下一次,我尝试直接写入保存的外围设备和特性。但我收到了蓝牙警告。如果我们还没有断开连接,我们不能直接写入一个 Peripheral characteristics 吗?

BTBeaconTest[1421:60b] CoreBluetooth[警告] 不是有效的外设

[iPeripheral writeValue:dataToWrite forCharacteristic:iCharacterstic type:CBCharacteristicWriteWithResponse]; 

PS:我没有断开外设

最佳答案

很可能蓝牙堆栈已被重置或由于其他原因您的外围设备变得无效。您需要监视状态更新,如果您收到 OFFRESETTING,则使您对外围设备和特性的所有句柄无效。通常最好只引用外围设备,并在需要时查找特性。 CoreBluetooth 将为您缓存它们,因此查找速度会非常快。这个答案告诉你如何做到这一点:https://stackoverflow.com/a/18091617/768935

关于ios - 直接写入已连接的 CBPeripheral 而无需重新发现它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18138363/

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