Получение устаревшего пакета BLE - PullRequest
0 голосов
/ 14 января 2020
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!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...