func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
if let _error = error {
print(_error.localizedDescription)
return
}
processReceivedData(characteristic)
}
Выше приведен наш простой код, который вызывается каждый раз, когда наше приложение получает данные от подключенного периферийного устройства BLE
.
Внезапно некоторые из наших пользователей начинают сообщать, что приложение создает записи "устаревших" Msgstr "BLE
данные, из-за которых в нашем приложении произошли некоторые вычисления.
Мы пытались воспроизвести эти отчеты в нашем офисе, но не смогли. И мы понятия не имеем, почему это происходит. У нас нет кода, который бы «кэшировал» старый полученный пакет, приложение сразу же обработает его при получении. Мы связались с производителем BLE
, и они сказали, что устройство также не кэширует «не отправленные» данные. Отсюда я не знаю, что делать ...
Может быть, iOS, возможно, кэширует пакеты, отправленные периферийным устройством BLE
, и передает их позднее? Или у кого-нибудь есть идея с этим?
TIA!