我有一个工作的 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)
}
打印的值不是我写的配置数据,而是一些旧扫描仪读取的数据。令人惊讶的是,即使在应用程序关闭后,仍然存在相同的旧读取数据。
那么回调中发送的特征是否有效,是否包含写入的数据?