我正在处理以下情况:
我想使用BLE广告包,以便使用BLE传输一些数据。我没有使用特定的协议,我只是在传输一个31字节的缓冲区,它的结构如下:
0x05, 0x03, 0xXX, 0xXX, 0xXX, 0xXX,// Size 5 List of 16-BIT UUID, number of UUIDs:2
0x18, 0xFF, 0x59, 0x00, //Manufacturer data with length 24, using the Nordic manufacturer identifier其余的数据,我想在剩下的11个字节中传输。
我正在寻找一种方法来构造我的包的方式,所有31个字节将从iOS应用程序中可见。
(我不是在开发iOS应用程序,我只知道Android和iOS在从BLE中读取数据的方式上存在差异。我的设置可以在安卓系统上运行,但它不能显示iOS中传输的所有数据)
发布于 2019-09-18 20:35:46
通告数据包的原始字节在iOS上不可用。当调用centralManager(_:didDiscover:advertisementData:rssi:)时,数据应该已经被解析了。您的UUID应该在CBAdvertisementDataServiceUUIDsKey中可用,制造数据(您的11个字节)应该在CBAdvertisementDataManufacturerDataKey中可用。
https://stackoverflow.com/questions/57991980
复制相似问题