CoreBluetooth Peripheral занимает много времени, чтобы записать значение в характеристику
Я пишу приложение, которое должно записать значение байта в CBPeripheral
с помощью iOS CoreBluetooth
, Я могу читать значения, и запись успешна и вызывает didWriteValueFor
делегировать как надо. В основном, это работает, НО, это занимает много времени (около 3 секунд и более 10 отчетов). Когда я тестирую процесс записи в другом приложении (nRF Connect), запись происходит практически мгновенно. Вот код, который я использую для записи в Характеристику:
func setConfigurationValue(_ i:UInt8){
guard peripheral != nil, configurationStateCharacteristic != nil else { return }
var vint:UInt8 = i
let intData = Data(bytes: &vint, count: MemoryLayout<UInt8>.size)
isWriting = true
peripheral?.writeValue(intData, for: configurationStateCharacteristic!, type: CBCharacteristicWriteType.withResponse)
// Notify any views that they should show a progress overlay
NotificationName.showProgressOverlay.post(userInfo: ["message":"Device configuring".localized], object: self)
}
Обратите внимание, что peripheral
хранится ссылка на CBPeripheral
объект и configurationStateCharacteristic
это ссылка на CBCharacteristic
Я пишу. Этот код работает, но что заставляет периферийное устройство BLE так долго записывать данные и отправлять ответ?
Есть идеи?