У меня есть работающее приложение BLE, которое считывает данные со сканера и отправляет конфигурацию на сканер до начала чтения.Я использую следующий код для отправки строки на сканер.
let configItem = "BD1"
let data = configItem?.data(using: String.Encoding.ascii)
peripheral.writeValue(data!, for: characteristic, type: .withResponse)
Я печатаю имя и значение характеристики при обратном вызове
func peripheral(_:didWriteValueFor:CBCharacteristic:Error?)
{
let value = String(data: characteristic.value!, encoding: .ascii)!
print("Wrote characteristic value: " + value + "; for characterisitc: " + characteristic.uuid.description)
}
Напечатанное значение не является данными конфигурацииЯ написал, но какой-то старый сканер прочитал данные.Удивительно, но те же самые старые прочитанные данные присутствуют даже после закрытия приложения.
Так ли верна характеристика, отправленная в обратном вызове, и содержит ли она записанные данные?