A little background with this question
So, long story short:
To send data using notification, in android, you must first enable CCCD descriptor of matching attribute (which is usually a characteristic)
The proper way to do that is using some sort of "write request".
Problem: it is often confused with "write".
Now you are asking: then use "write request"? Here's the problem: official android API does not support write request, it only has "write".
Now again you are asking, then override some parent method/class and use "write request" afterwards? Here's another problem: you can, but you would be using a different android library/bluetooth framework, a non-official one which is prone to problems OR you will have to tap right into some lower level android properties, which may or may not be legal, and usually is very, very complicated.
So here I'm trying to ask, does iOS have the same problem? Does it distinguish "write" and "write request" per ble specs well?