iOS13在使用藍牙發送廣播時,會額外攜帶0x0A也就是TXPowerLevel字段,會導致數據中多出2位(type和value),中心設備按位解析就會提前兩位,導致解析失敗。
代碼和配圖如下:
1 [self.peripheralManager startAdvertising:@{ 2 CBAdvertisementDataServiceUUIDsKey :@[serviceUUID], 3 CBAdvertisementDataLocalNameKey :localName 4 }];
在iOS12中,發送的廣播數據是這樣的:
而iOS13中,發送的廣播數據是這樣的:
我們可以看到,多出了0x0A字段。
藍牙Type和value表