You can't just see the advertisement data and then try to write the device.
For your android setup are you using API 18/19 or 21/22 (Android Lollypop and later or KitKat and earlier?)
You cannot connect to a device simply by writing or reading a characteristic. You must first issue a conneciton request and perform a service discovery. Once you get the BluetoothGattCharacteristic reference, you can read or write to it. From your description above I can't tell if you are doing this or not.
Android after you call connectGatt, you will get the onConnectionStateChanged callback. Then perform the service discovery (android everything happens at once and it is important to note that these services and characteristics are cached NOT queried each connection like iOS). Finally, it is now appropriate for the client (your android central) to ask the server (your iOS peripheral) for its data. If you setup notifications or indications, note that not only do you have to enable them, but also write the CCC descriptor of that characteristic you are trying to get automatic updates from. Apple does this automatically for you, and disallows discovery of the CCC descriptor of any characteristic.
Add sample code.