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 так долго записывать данные и отправлять ответ?

Есть идеи?

0 ответов

Другие вопросы по тегам