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.