And one more question:
On iOS, we don't have control over ATT MTU (no methods like
requestMtu on Android) and we can only find out current MTU size on the peripheral side using
central.maximumUpdateValueLength (since iOS 7).
As I understand, this value is available only on peripheral side and I can use it to adjust my characteristic updates when sending notifications.
But what should I do on the central side when writing to a characteristic? How do I know what amount of data I can write at once?
It would be inefficient pushing data by default 20 byte packets if the central and the peripheral have already negotiated larger MTU size. But how can I find it out on the central side?
And I'm eagerly waiting for the continuation:
"We will discuss the pros and cons of the different GATT data transfer methods in a separate blog post."