Reasons for not writing to BLE characteristic

I have an iOS app that is trying to write to a BLE characteristic on a custom device. The services are discovered correctly, as are all of the characteristics, and the connection is successful.


When trying to do a write with response to one of the characteristics that has 'read' and 'write' properties, the peripheral(_ peripheral, didWriteValueFor characteristic, error) function returns with the message "Writing is not permitted.".


This error is a little vague considering that the characteristic itself says it is writable.


Nothing appears on the device side, so the write is definitely being blocked on the iOS side.


Does anyone know of any other reasons that would cause the "Writing not permitted." error?


Thanks.

Hello, I've got a similar problem with my BLE device which I connect to my application. I need to send from app to device write commands (without acknowledgment/response) via BLE to upgrade the device firmware.

Any news?

Thank you

Hi everyone, I'll post what I've found, maybe it could be useful for someone.

I put this property to the characteristic of my custom device and it seems it works: BLECharacteristic::PROPERTY_WRITE_NR

The write command now is permitted with this property

Reasons for not writing to BLE characteristic
 
 
Q