我有一个自定义BLE外设,可以向中心发送通知数据包。设备一次发送200字节的数据包,预计中心将注册设备上的特征更新通知。请注意,此设备不是为读取操作而设计的,仅支持向中央发送流式通知。
在android 7中,中央软件没有问题,电话(中央)在一个通知事件中接收200个字节。 - 这很好用。
我正在移植使用swift在Apple设备上使用的代码。我正在使用带有iOS 9.3和核心蓝牙的iPad来测试我的软件。
iPad被编程为中心,以接收通知,但是当回调didUpdateValueForCharacteristic触发时,我只看到来自characteristic.value的数据长度为155bytes。这意味着在某处丢失了45个字节。 BTW - 同样的代码也在mac book air上进行了测试,在这种情况下,中心接收的数据只有101字节而不是200字节。
我没有在corebluetooth API文档中看到任何提及155字节限制的任何内容。我应该调用一些额外的函数,还是应该以特殊的方式设置通知来执行某些操作来获取剩余的字节?如果是这样,有谁知道什么?