Hello,
We've been seeing a strange problem with an app we're developing that communicates with a BLE peripheral. The peripheral (a scale) sends data to the central every 300ms. Usually this works fine, and as soon as weight is added to the scale, the new data is immediately reflected in the notifications received through peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error.
However, it seems that after using the app for a period of time, a sort of "lag" begins to occur, where adding weight to the scale doesn't reflect any changes to the notifications received through peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error, but the changes finally appear after ~10 seconds. It doesn't appear to be a problem with the peripheral, as the same scale will work fine with another iPad.
I've discoverd that performing a settings reset, either of all settings, or even just Network Settings (Settings - General - Reset - Reset All Settings or Settings - General - Reset - Reset Network Settings) on the iPad fixes the issue, and the peripheral:(CBPeripheral *)peripheral didUpdateValueForCharacteristic:(CBCharacteristic *)characteristic error:(NSError *)error method immediately reflects changes in weight again.
Any ideas on what could be causing this issue?
Thanks,
James